Основные парадигмы/концепции построения архитектуры для web и приложений?

За неимением большого опыта, (менее года) но большой любознательности в голове образовалась каша.
Собственно, интересует следующий момент. Какие есть основные концепции построения архитектуры приложений?

Например, имеется задача разработать классическое приложение для работы с БД (CRUD)
Т.е. простым языком – сайт, где можно: сделать новость, отредактировать, что-то апдейтнуть или удалить.
Но, у меня стоит особняком один важный момент. Хочу что-бы это приложение в перспективе могло быть нативным гибридным для мобильных платформ. Таких как OS или Android.
Т.е. простым языком – нативное гибридное приложение, для каждой из платформ не важно для какой платформы, дергающее API и имеющее 100% функционал сайта.

  • Общую архитектуру для приложения выбираю MVC. (Потому, что мне так удобно и понятно)
  • А для важного момента выбираю архитектуру REST

Т.е. совмещаю 2 концепции, но реализую разные вьюхи. Код моделей собсвенно единый.

Спрашивается, а не дурак я? Может под обозначенные требования имеется архитектура уже проверенная временем. А я просто не знаю. Возможно мне нужна книга, где приводятся в пример удачные концепции и в ней я найду более правильный и/или технически проще реализуемый вариант для моей задачи. Или ты, человек сложивший миллионы строк кода в единый организм - откроешь мне глаза. В общем помогите, други. :)
P.S. Поставленная задача академического плана.
Update 31.07.15 (11:30)
1) Благодаря острому, словно бритва "джилет фьюжен макс повер проГлайд", ответу от нашего брата index0h, исправил формулировку вопроса указав правильный тип приложения.
  • Вопрос задан
  • 1658 просмотров
Решения вопроса 1
bubbleboom
@bubbleboom Автор вопроса
В общем всем спасибо! Для тех кого заинтересовал вопрос советую почитать статью: habrahabr.ru/post/260769
Думаю, глубже копать дальше только экскаватором. Статья отлично раскрывает мой вопрос, а главное ожидание чего-то нового.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
evnuh
@evnuh
Поиск Гугл помог мне, впусти и ты его в свой дом
Всё верно придумали.
По идее, у вас должно быть ядро без отображения, которое имеет вход и выход. Входом у вас соответсвенно являются и в случае с сайтом, и в случае с API для мобильных - HTTP запросы типа GET и POST, PUT и т.д., тут вообще они не отличаются. А на выходе вы должны данные либо кидать для рендеринга в HTML, либо кидать их для рендеринга в JSON или в любой другой сериализатор, который будет понятен нативным приложениям на телефонах.
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
нативное приложение, не важно для какой платформы

оксюморон))

Вы правы, у вас каша. То, что вы хотите REST сервис - это серверная часть, ее делать для того же Android смысла особого нет потому, что на моб приложение будет выступать клиентом. Если же хотите использовать БД на клиенте - REST будет лишним, на порядки проще использовать ORM какую-то.
Ответ написан
tlito
@tlito
drupal, c++, seo
основные концепции:
1. Ядро с возможностью расширения.
С помощью доп модулей или плагинов ваше приложение должно легко расширяться вами при разработке

2. АПИ-функции для разработки новых функций или модулей.
чтобы ваше приложение правильно расширялось, и вместе с тем было безопасно, нужно сделать базовые функции, которыеми будут пользоваться модули

3. функции ядра или модулей должны проверяться отдельно при разработке.

4. ну и если вы опенсорс-разработчик, то весь код должен быть документирован, комментирован
Ответ написан
@CapeRatel
Оу оу. Как человек переживший в недавним времени вашу ситуацию, стаж, и вопросы, советую вам много делать и поменьше думать. Сомневаюсь что с таким стажем вы способны написать хорошо все аспекты описания вопроса.

Мыслите правильно.

Я бы сделал так. Накрудил проект. Постарался сделать максимально хорошо.
Задал вопрос:
Я на крудил проект, теперь хочу выгружать в мобилу, как сделать правильно апи. Проект на том и том сделан так и так.

А строить архитектуры, новые концепции ядра и прочая подобного рода мешанина пусть останется тем, кто уже умеет делать все хорошо, знает все тонкости и ньюансы которые заработаны тяжким трудом и долголетним стажем.

Уверен что на первой странице Гугла всегда нормальные и правильные, работающие решения которые надо юзать.

У меня все
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы