Перспективный JavaScript фреймворк или почему не AngularJS 1.x?
После выходных остро встал вопрос о целесообразности использования Angular`a в текущем проекте. Очень уж смущает что с ростом проекта мы наткнемся на некоторые "фундаментальные грабли" Ангуляра, из-за которых проект переписывается в виде Angular 2.0. И казалось бы - проект далек от завершения, почему бы не попробовать Angular 2.0, начать втягиваться в ES6? Однако документация на 2.0 мало, мы туго обучаемые, может быть есть альтернативы?
Итак, хочется понять направление развития JS? Какой JS фреймворк наиболее перспективен с точки зрения как самостоятельно проекта, так и с точки зрения развития языка? Какой фреймворк позволит наименее болезненно "въехать" в server-side JS?
И чуть не забыл: все это рассматривается для использования в локальном клиентском приложении.
Какие еще фундаметальные грабли? Уж очень интересно.
Сколько не слышал такие слова - на выходе оказывалось, что люди просто не умеют решают задачи в рамках AngluarJS.
I like the scope, I was able to explicitly state what I want to expose to my templates. Are there any advantages removing the scope except of “hard to explain to beginners”?
Some of the biggest memory leaks I’ve ever had were caused by forgetting to destroy the $scope of given directive. Removing scope leads to less AngularJS components, so less bugs, lower complexity. A lot of people were doing things which sometimes looked like workarounds, when inheriting the scope (thinking they’ve inherited the controller), doing complex publish/subscribe messaging between parent and child scopes etc. All these things will not be required anymore. цинк
P.S. Понятно что, всегда есть варианты. Но в конкретном случае мы просто хотим идти в ногу со временем.
@Miraage:
Я слышал о том что использование $rootScope моветон и что для транспорта нужно использовать фабрики\сервисы. Но на самом деле это лирика т.к. автор указывает на то что, $scope в принципе используется не верно и от этого хотят уйти. Меня же это не интересует вообще т.к. мне нужно подобрать вариант который бы совместил и прогресс в обучении JS и удобства фреймворка для решения типовых задач с минимальными усилиями. Angular 2.0 по описаниям то что нужно, но мы переживаем что не сможем его переварить, а времени на пустое тестирование тоже фактически нет.
Deric: кому как, а я уверенно взял бы Angular 1.*, ибо ждать нормальную поддержку es6 и релиз Angular 2 - долго. У всех фреймворков есть свои плюсы и минусы, но когда владеешь инструментом - все получается шикарно.
Мы мало знаем о Node и иногда нам кажется что, его создали специально для того что бы JS-программисты не учили PHP. Я лично думал что Node может облегчить работу с client-side JS, не отбирая лавры "бекэндовых языков" - я ошибаюсь? Фактический стек того что мы хотим использовать выглядит так: JS<->json<->PHP<->MySQL. В качестве PHP "двигла" используется Laravel с нашим взглядом на работу с SQL. а вот на фронете проблема - слишком много jQuery. На первых порах Angular выглядел шикарно, но сейчас выяснилось что это всё же уходящий поезд на который мы опоздали. Дерби выглядит как хороший вариант, но влезет ли он в наш стек?
Deric, я backend разработчик, fullstack только в случае необходимости. Мой язык server-side это Golang, моя задача на request собрать data из SQL и отдать JSON на URI в соответствии с ТЗ. Angular считаю overengineered, на мой взгляд jquery это максимум и даешь vanillaJS. NodeJS не люблю и считаю переоцененным, но нелепо отрицать преимущества гомогенной системы -один код на одном языке на клиенте и сервере и возможность живой миграции этого кода между клиентом и сервером(чем и подкупает meteor). Вот примерно так выборы выглядят с другой стороны баррикад.)))
uvelichitel:
Спасибо. В вопросе метора смущает наличие дерби, но непонятны перспективы ни одного, ни другого фреймворка. А когда заводится речь с лидом - англуляр поддерживается гуглом. Аргумент?
Deric "англуляр поддерживается гуглом" ясное дело сильный аргумент. А React например facebook'ом, а Ractive JS - theguardiane. А вот JQuery поддерживается всеми браузерами.
ReactJS + Flux.
Тут можно и начинать вникать серверный JS. так как рендерить все это можно как на сервере так и не клиенте.
На вопрос "почему не Angular 1.x"
Ругать или хвалить ангуляр есть за что, поэтому рассматривать его минусы и недостатки думаю тут не буду.
Но лично я для себя уже решил, что в facebook правы и MVC не самое лучшее решение для интерфейсов, и flux подходит куда лучше.