Re: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: c-smile Канада http://terrainformatica.com
Дата: 30.07.13 15:41
Оценка: 32 (7)
Здравствуйте, dimgel, Вы писали:

D>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?


data binding вещь далеко не новая. Помнится Visual Basic в своё время это дело пропионерил.

Собственно недостатки общие для всех систем пытающихся делать декларативный data binding:
Для того чтобы система правил/инструкций могла хоть как-то описывать реальный мир она должна быть достаточно полной.
Отсюда проистекают две проблемы:
1. Набор правил/инструкций разрастается до полномасштабного языка программирования. Сравнивого с самим JS по сложности.
2. Соотв. разрастается инфраструктура всего этого что влечет очевидные проблемы: финальное приложение пухнет, грузится дольше и исполняется медленнее.

По поводу альтенатив.

Архитектурил тут год назад "лохматое" по функциональности Mobile Web App.
После достаточно глубокого исследования существующих frameworks включая knockout.js со товарищи остановился на простой event driven модели.

Чуть позже по этому пути пошел и twitter со своим flight.js :

https://blog.twitter.com/2013/introducing-flight-web-application-framework
http://twitter.github.io/flight/

компактный, кушать не просит, руки и пр. не связывает. Рекомендую. Практичная штука.
Re[4]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: dimgel Россия https://github.com/dimgel
Дата: 30.07.13 11:17
Оценка: 4 (2) +1
Здравствуйте, Курилка, Вы писали:

D>>(А, ну да, есть же ещё всякие там GWT, но есть мнение, что сама идея компиляции из java в js — калечная.)


К>Ты вроде фанат скалы был, или я путаю?

К>Почему тогда не https://github.com/nau/jscala , например?

У меня эта штука уже в закладках. Прямо сейчас не до скалы мне, но как только — так сразу попробую.

Но во-первых, скала — не жава. Между java и javascript слишком много различий, чтобы можно было на жаве писать хороший js-код.

А во-вторых, тут компилятор scala в js будет отдельно, а AngularJS MVC отдельно. Понятно, что цена — отсутствие полноценной интеграции клиентской и серверной сторон, но по мне так лучше, чем когда всё в кучу, потому что чем комплекснее фреймворк, тем сложнее в нём сделать что-либо им непредусмотренное. (Я с GWT можно сказать не работал, но говорят, к примеру, что создание собственных компонент в нём — тот ещё секс.) В общем, долой фреймворки, даёшь библиотеки. И чёрт с ним, что они неидеально интегрируются друг с другом: по моему опыту, затраты на интеграцию в 100% случаев выходят ниже, чем затраты на попытки обойти ограничения того или иного "фреймворка". Вот, выговорился.
Re: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: a_g_99 США http://www.hooli.xyz/
Дата: 30.07.13 10:52
Оценка: 6 (1) +1
Здравствуйте, dimgel, Вы писали:

D>hi all. Сабж: http://docs.angularjs.org/tutorial

D>Может быть, что-нибудь ещё круче есть?
D>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?

Пожалуй лучший MVC javascript framework на текущий момент. На мой взгляд на порядок лучше knockout и подобных поделок. Есть вполне интересные конкуренты — напр. Ember.
Backbone также может быть заменителем, но для старта потребуется написать больше кода. При этом Backbone кажется более популярным (к тому же кажется он компактнее)
Re[3]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: c-smile Канада http://terrainformatica.com
Дата: 04.08.13 00:40
Оценка: 4 (1)
Здравствуйте, Аноним, Вы писали:

CS>>компактный, кушать не просит, руки и пр. не связывает. Рекомендую. Практичная штука.


А>Было бы очень интересно услышать чем не устроил backbone.js.


Не то чтобы не устроил, а просто не потребовался.
Приложение простое по структуре но достаточно сложное по логике и интерактивным эффектам.
Т.н. single page app (SPA) со структурой markup вида

<body>
  <section id="page-a"> ... </section>
  <section id="page-b"> ... </section>
  <section id="page-c"> ... </section>
  ...
  <script src="page/a.js" />
  <script src="page/b.js" />
  <script src="page/c.js" />
  ...
</body>


Каждый page/X.js файл это так называемый page(a.k.a. view) handler вида
app.pageHandlers["page-a"] = function(params) {
  ...
  $(this).on("click","button.save", function() {...})
  $(this).on("click","button.cancel", function() { app.navigateBack(1); })
  $(this).on("page.close", function() {...})
  $(this).on("page.ready", function() {...})
  ...
};


Переключение состояния UI (показ тех или иных pages) выполняется с помощью глобального метода
  app.navigateTo("page-name", params) : promise;

Эта функция фвктически выполняет роль routers в backbone (history + hash processing и пр.) плюс поддерживает
анимацию переключения views (достаточно нетривиальный процесс сам по себе). Состояние UI (stack of views)
персистится в localStorage.

Коммуникация с сервером и поддержка local data cache (localStorage) сосредоточена внутри трех методов:
  app.getData("url", params ) : promise;
  app.postData("url", params ) : promise;
  app.deleteData("url", params ) : promise;

Они делают 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 - прикольнейшая штука. Возражения будут? :)
От: Mamut Швеция http://dmitriid.com
Дата: 25.02.14 16:26
Оценка: 4 (1)
D>hi all. Сабж: http://docs.angularjs.org/tutorial
D>Может быть, что-нибудь ещё круче есть?
D>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?


Angular — это велосипед из костылей, быстро становящийся тормозящим и неявным. React.js, имхо, лучше.


dmitriid.comGitHubLinkedIn
Re[2]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: dimgel Россия https://github.com/dimgel
Дата: 30.07.13 10:55
Оценка: 1 (1)
Здравствуйте, B7_Ruslan, Вы писали:

B_R>недостаток у них общий — в общем случае проверка типов происходит в рантайме.


Ну от этого, увы, не уйти. Javascript, сэр.
(А, ну да, есть же ещё всякие там GWT, но есть мнение, что сама идея компиляции из java в js — калечная.)
Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: dimgel Россия https://github.com/dimgel
Дата: 30.07.13 10:30
Оценка:
hi all. Сабж: http://docs.angularjs.org/tutorial
Может быть, что-нибудь ещё круче есть?
Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?
Re: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: B7_Ruslan  
Дата: 30.07.13 10:41
Оценка:
knockoutjs еще есть, автоматически присоединен к MVC проектам в VS.
недостаток у них общий — в общем случае проверка типов происходит в рантайме.
Точно не знаю, но вроде логгирование некорректных бинд-ов есть у них, как в wpf.
Re[3]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: Курилка Россия http://kirya.narod.ru/
Дата: 30.07.13 11:09
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Здравствуйте, B7_Ruslan, Вы писали:


B_R>>недостаток у них общий — в общем случае проверка типов происходит в рантайме.


D>Ну от этого, увы, не уйти. Javascript, сэр.

D>(А, ну да, есть же ещё всякие там GWT, но есть мнение, что сама идея компиляции из java в js — калечная.)

Ты вроде фанат скалы был, или я путаю?
Почему тогда не https://github.com/nau/jscala , например?
Re[2]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: dimgel Россия https://github.com/dimgel
Дата: 30.07.13 16:05
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>

CS>http://twitter.github.io/flight/

CS>компактный, кушать не просит, руки и пр. не связывает. Рекомендую. Практичная штука.


Главное, чтобы "пр." не связывал, а то больно будет.

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>

CS>http://twitter.github.io/flight/

CS>компактный, кушать не просит, руки и пр. не связывает. Рекомендую. Практичная штука.


Было бы очень интересно услышать чем не устроил backbone.js.
Re: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: pavel783  
Дата: 05.08.13 12:27
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?


заморачиваться с этим смысла нет на небольших проектах, основная потребность в javascript mvvm покрывается шаблонизаторами типа jquery template или handlebars, для всего остального достаточно самому сделать повторно используемые vm модели с грамотно расставленными калбеками.
Re[2]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: dimgel Россия https://github.com/dimgel
Дата: 05.08.13 12:52
Оценка:
Здравствуйте, pavel783, Вы писали:

P>Здравствуйте, dimgel, Вы писали:


D>>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?


P>заморачиваться с этим смысла нет на небольших проектах, основная потребность в javascript mvvm покрывается шаблонизаторами типа jquery template или handlebars, для всего остального достаточно самому сделать повторно используемые vm модели с грамотно расставленными калбеками.


Эх, молодость...
Я нынче предпочитаю по возможности готовенькое юзать. Когда оно приличное и устраивает меня по функционалу. Пока что у angularJS обнаружился только один косяк, причём не архитектурный, а просто хрен знает что им в головы взбрело: дурацкая работа с сабмитом формы. (1) Если form/@action=="", то сабмит блокируется. (2) Обычные <button> приводят к сабмиту, приходится в каждом обработчике нажатия дополнительно вызывать event.preventDefault().
Re: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: WladA4  
Дата: 25.02.14 07:57
Оценка:
Здравствуйте, 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 - прикольнейшая штука. Возражения будут? :)
От: WladA4  
Дата: 25.02.14 08:01
Оценка:
Здравствуйте, B7_Ruslan, Вы писали:


B_R>недостаток у них общий — в общем случае проверка типов происходит в рантайме.

Это проблема самого JavaScript, могу предложить решения на основе типизированного языка
http://blog.incframework.com/ru/5-killer-featuer-iml/
Re[2]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: dimgel Россия https://github.com/dimgel
Дата: 25.02.14 16:38
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Angular — это велосипед из костылей, быстро становящийся тормозящим и неявным. React.js, имхо, лучше.


Спасибо, гляну. Хотя боюсь, всё теперь упрётся в поддержку бесшовной интеграции с одним из двух попавших в моё поле зрения scala -> js макросов-компиляторов. Может вообще откажусь. Что случится опять же не скоро, если я только REST-ом займусь не раньше чем через месяц.
Re[2]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: Sharov Россия  
Дата: 25.02.14 16:42
Оценка:
Здравствуйте, Mamut, Вы писали:


M>Angular — это велосипед из костылей, быстро становящийся тормозящим и неявным. React.js, имхо, лучше.


Пример костылей можно?
Кодом людям нужно помогать!
Re[3]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: Mamut Швеция http://dmitriid.com
Дата: 26.02.14 05:12
Оценка:
M>>Angular — это велосипед из костылей, быстро становящийся тормозящим и неявным. React.js, имхо, лучше.

S>Пример костылей можно?


Тут кратенько про некоторые проблемы: http://lhorie.blogspot.ca/2013/09/things-that-suck-in-angularjs.html


dmitriid.comGitHubLinkedIn
Re: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: vsb Казахстан  
Дата: 26.02.14 05:14
Оценка:
Здравствуйте, dimgel, Вы писали:

D>hi all. Сабж: http://docs.angularjs.org/tutorial

D>Может быть, что-нибудь ещё круче есть?
D>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?

Говорят производительность не ахти, на мобильных платформах проявляется (или при большом числе DOM-элементов).
Re[2]: Изучаю вот AngularJS - прикольнейшая штука. Возражения будут? :)
От: Aleх  
Дата: 26.02.14 20:00
Оценка:
Здравствуйте, 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 - прикольнейшая штука. Возражения будут? :)
От: c-smile Канада http://terrainformatica.com
Дата: 27.02.14 04:18
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Здравствуйте, dimgel, Вы писали:


D>>hi all. Сабж: http://docs.angularjs.org/tutorial

D>>Может быть, что-нибудь ещё круче есть?
D>>Может быть, у этой прикольнейшей штуки есть неприкольнейшие недостатки, которые с ходу не видно?

vsb>Говорят производительность не ахти, на мобильных платформах проявляется (или при большом числе DOM-элементов).


Угу, вот например
http://2013.jsconf.eu/speakers/marius-gundersen-a-comparison-of-the-twoway-binding-in-angularjs-emberjs-and-knockoutjs.html
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.