Здравствуйте, dimgel, Вы писали:
D>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?
data binding вещь далеко не новая. Помнится Visual Basic в своё время это дело пропионерил.
Собственно недостатки общие для всех систем пытающихся делать декларативный data binding:
Для того чтобы система правил/инструкций могла хоть как-то описывать реальный мир она должна быть достаточно полной.
Отсюда проистекают две проблемы:
1. Набор правил/инструкций разрастается до полномасштабного языка программирования. Сравнивого с самим JS по сложности.
2. Соотв. разрастается инфраструктура всего этого что влечет очевидные проблемы: финальное приложение пухнет, грузится дольше и исполняется медленнее.
По поводу альтенатив.
Архитектурил тут год назад "лохматое" по функциональности Mobile Web App.
После достаточно глубокого исследования существующих frameworks включая knockout.js со товарищи остановился на простой event driven модели.
Чуть позже по этому пути пошел и twitter со своим flight.js :
Здравствуйте, Курилка, Вы писали:
D>>(А, ну да, есть же ещё всякие там GWT, но есть мнение, что сама идея компиляции из java в js — калечная.)
К>Ты вроде фанат скалы был, или я путаю? К>Почему тогда не https://github.com/nau/jscala , например?
У меня эта штука уже в закладках. Прямо сейчас не до скалы мне, но как только — так сразу попробую.
Но во-первых, скала — не жава. Между java и javascript слишком много различий, чтобы можно было на жаве писать хороший js-код.
А во-вторых, тут компилятор scala в js будет отдельно, а AngularJS MVC отдельно. Понятно, что цена — отсутствие полноценной интеграции клиентской и серверной сторон, но по мне так лучше, чем когда всё в кучу, потому что чем комплекснее фреймворк, тем сложнее в нём сделать что-либо им непредусмотренное. (Я с GWT можно сказать не работал, но говорят, к примеру, что создание собственных компонент в нём — тот ещё секс.) В общем, долой фреймворки, даёшь библиотеки. И чёрт с ним, что они неидеально интегрируются друг с другом: по моему опыту, затраты на интеграцию в 100% случаев выходят ниже, чем затраты на попытки обойти ограничения того или иного "фреймворка". Вот, выговорился.
Re: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
Здравствуйте, dimgel, Вы писали:
D>hi all. Сабж: http://docs.angularjs.org/tutorial D>Может быть, что-нибудь ещё круче есть? D>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?
Пожалуй лучший MVC javascript framework на текущий момент. На мой взгляд на порядок лучше knockout и подобных поделок. Есть вполне интересные конкуренты — напр. Ember.
Backbone также может быть заменителем, но для старта потребуется написать больше кода. При этом Backbone кажется более популярным (к тому же кажется он компактнее)
Re[3]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
Здравствуйте, Аноним, Вы писали:
CS>>компактный, кушать не просит, руки и пр. не связывает. Рекомендую. Практичная штука.
А>Было бы очень интересно услышать чем не устроил backbone.js.
Не то чтобы не устроил, а просто не потребовался.
Приложение простое по структуре но достаточно сложное по логике и интерактивным эффектам.
Т.н. single page app (SPA) со структурой markup вида
Переключение состояния UI (показ тех или иных pages) выполняется с помощью глобального метода
app.navigateTo("page-name", params) : promise;
Эта функция фвктически выполняет роль routers в backbone (history + hash processing и пр.) плюс поддерживает
анимацию переключения views (достаточно нетривиальный процесс сам по себе). Состояние UI (stack of views)
персистится в localStorage.
Коммуникация с сервером и поддержка local data cache (localStorage) сосредоточена внутри трех методов:
Они делают data caching c достатчно гибкой caching policy и общий error handling.
Активно используются jQuery events с custom namespaces и jQuery plugins (для common UI компонентов).
Потребности в каких-то специальных View и Model примитивах не возникло. Модели это данные приходящие с web services как они есть.
jQuery is good enough для отображения всего этого хозяйства.
Как-то так.
Re: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
D>hi all. Сабж: http://docs.angularjs.org/tutorial D>Может быть, что-нибудь ещё круче есть? D>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?
Angular — это велосипед из костылей, быстро становящийся тормозящим и неявным. React.js, имхо, лучше.
hi all. Сабж: http://docs.angularjs.org/tutorial
Может быть, что-нибудь ещё круче есть?
Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?
Re: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
knockoutjs еще есть, автоматически присоединен к MVC проектам в VS.
недостаток у них общий — в общем случае проверка типов происходит в рантайме.
Точно не знаю, но вроде логгирование некорректных бинд-ов есть у них, как в wpf.
Re[3]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
Здравствуйте, dimgel, Вы писали:
D>Здравствуйте, B7_Ruslan, Вы писали:
B_R>>недостаток у них общий — в общем случае проверка типов происходит в рантайме.
D>Ну от этого, увы, не уйти. Javascript, сэр. D>(А, ну да, есть же ещё всякие там GWT, но есть мнение, что сама идея компиляции из java в js — калечная.)
Главное, чтобы "пр." не связывал, а то больно будет.
Flight is distinct from existing frameworks in that it doesn’t prescribe or provide any particular approach to rendering or providing data to a web application. It’s agnostic on how requests are routed, which templating language you use, or even if you render your HTML on the client or the server.
Ну, начало очень многообещающее, прямо скажем. Я такие начала люблю.
Re[2]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От:
Аноним
Дата:
02.08.13 14:41
Оценка:
Здравствуйте, c-smile, Вы писали:
CS>Здравствуйте, dimgel, Вы писали:
D>>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?
CS>data binding вещь далеко не новая. Помнится Visual Basic в своё время это дело пропионерил.
CS>Собственно недостатки общие для всех систем пытающихся делать декларативный data binding: CS>Для того чтобы система правил/инструкций могла хоть как-то описывать реальный мир она должна быть достаточно полной. CS>Отсюда проистекают две проблемы: CS>1. Набор правил/инструкций разрастается до полномасштабного языка программирования. Сравнивого с самим JS по сложности. CS>2. Соотв. разрастается инфраструктура всего этого что влечет очевидные проблемы: финальное приложение пухнет, грузится дольше и исполняется медленнее.
CS>По поводу альтенатив.
CS>Архитектурил тут год назад "лохматое" по функциональности Mobile Web App. CS>После достаточно глубокого исследования существующих frameworks включая knockout.js со товарищи остановился на простой event driven модели.
CS>Чуть позже по этому пути пошел и twitter со своим flight.js :
CS>https://blog.twitter.com/2013/introducing-flight-web-application-framework CS>http://twitter.github.io/flight/
CS>компактный, кушать не просит, руки и пр. не связывает. Рекомендую. Практичная штука.
Было бы очень интересно услышать чем не устроил backbone.js.
Re: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
Здравствуйте, dimgel, Вы писали:
D>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?
заморачиваться с этим смысла нет на небольших проектах, основная потребность в javascript mvvm покрывается шаблонизаторами типа jquery template или handlebars, для всего остального достаточно самому сделать повторно используемые vm модели с грамотно расставленными калбеками.
Re[2]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
Здравствуйте, pavel783, Вы писали:
P>Здравствуйте, dimgel, Вы писали:
D>>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?
P>заморачиваться с этим смысла нет на небольших проектах, основная потребность в javascript mvvm покрывается шаблонизаторами типа jquery template или handlebars, для всего остального достаточно самому сделать повторно используемые vm модели с грамотно расставленными калбеками.
Эх, молодость...
Я нынче предпочитаю по возможности готовенькое юзать. Когда оно приличное и устраивает меня по функционалу. Пока что у angularJS обнаружился только один косяк, причём не архитектурный, а просто хрен знает что им в головы взбрело: дурацкая работа с сабмитом формы. (1) Если form/@action=="", то сабмит блокируется. (2) Обычные <button> приводят к сабмиту, приходится в каждом обработчике нажатия дополнительно вызывать event.preventDefault().
Re: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
Здравствуйте, dimgel, Вы писали:
D>hi all. Сабж: http://docs.angularjs.org/tutorial D>Может быть, что-нибудь ещё круче есть?
blog.incframework.com/ru/angularjs-vs-iml/ D>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?
Да , дублирования mvc на стороне клиента ( у нас и так есть asp.net mvc ) , приходится использовать JavaScript
Re[2]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
B_R>недостаток у них общий — в общем случае проверка типов происходит в рантайме.
Это проблема самого JavaScript, могу предложить решения на основе типизированного языка http://blog.incframework.com/ru/5-killer-featuer-iml/
Re[2]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
Здравствуйте, Mamut, Вы писали:
M>Angular — это велосипед из костылей, быстро становящийся тормозящим и неявным. React.js, имхо, лучше.
Спасибо, гляну. Хотя боюсь, всё теперь упрётся в поддержку бесшовной интеграции с одним из двух попавших в моё поле зрения scala -> js макросов-компиляторов. Может вообще откажусь. Что случится опять же не скоро, если я только REST-ом займусь не раньше чем через месяц.
Re[2]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
Здравствуйте, dimgel, Вы писали:
D>hi all. Сабж: http://docs.angularjs.org/tutorial D>Может быть, что-нибудь ещё круче есть? D>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?
Говорят производительность не ахти, на мобильных платформах проявляется (или при большом числе DOM-элементов).
Re[2]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
Здравствуйте, a_g_99, Вы писали:
__>Здравствуйте, dimgel, Вы писали:
D>>hi all. Сабж: http://docs.angularjs.org/tutorial D>>Может быть, что-нибудь ещё круче есть? D>>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?
__>Пожалуй лучший MVC javascript framework на текущий момент. На мой взгляд на порядок лучше knockout и подобных поделок. Есть вполне интересные конкуренты — напр. Ember.
А чем knockout плох?
__>Backbone также может быть заменителем, но для старта потребуется написать больше кода. При этом Backbone кажется более популярным (к тому же кажется он компактнее)
Re[2]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, dimgel, Вы писали:
D>>hi all. Сабж: http://docs.angularjs.org/tutorial D>>Может быть, что-нибудь ещё круче есть? D>>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?
vsb>Говорят производительность не ахти, на мобильных платформах проявляется (или при большом числе DOM-элементов).