Обо всем, Разработчикам

Про SPA приложения

Так как фронтендщика не удалось найти, пришлось и фронт писать самому.

Прощупал, посмотрел штук 5 фреймворков и выбрал Riot.js
Ангуляр даже не рассматривал, React тоже – оба сложнее чем мне нужно для проекта.

Попытки применить в WebUI подходы с десктопных GUI мне сразу казались нелепыми, уж очень разные нижние уровни – DOM дерево и двумерный набор пикселей. Все эти ExtJS и Dojo… монстры и мрак.

Как и MVC – во всех видах, годится только для энтерпрайзного типа интерфейсов. Конечно MVC лучше чем jQuery :)

А вот почему столь очевидный компонентый подход так поздно выстрелил – пока не понял. Движки js что-ли были медленные.

…и про моду на SPA веб-приложения.

На radio-t обсуждалась одна статья – “Что не так с SPA”

Добавлю:

1. SPA требуется когда “экран” должен уметь отображать все что есть в приложении, причем плохо прогонозируемо.
Поясню на примере:
Кладовщик отгружая товар, хочет быстро(=удобно) посмотреть очередь поставок отгружаемого товара. а потом княпнуть на поставщике, и посмотреть обороты компании с ним. И тут же княпуть на покупателе – и посмотреть как часто/много тот покупает у компании.

Но, ему никак не нужна информация об износе основных средств компании.
Риторический вопрос – надо ли делать SPA для кладовщика и бухгалтера по основным средствам? Почему – не два “приложения”?
Но – делают нередко одно. в итоге – сложность разработки, мегабайт js кода которые тянет браузер, тьмы эндпойнтов, …

2. RESTful нужен тогда, когда доступ к данным на сервере планируется осуществлять и не из браузера. А когда только из браузера – то на кой усложнять себе жизнь, лишая себя сессий на сервере и кукисов в браузере?

3. Настоящие эндпойнты(для запроса по ajax) нужны только когда пересылать все данные в браузер избыточно.
Но если все нужные данные для “экрана” известны – то зачем морочить себе голову с ajax если их можно просто заинклудить в отправляемый браузеру html?

Добавить комментарий

HTML отключен, используйте Markdown. Размещение кода: [pastebin id=fs23] или [gistgit id=2926827] или [gistgit id=2926827 file=foo.txt]