Pull to refresh

Comments 43

Может кто-нибудь объяснить кратко, в чем отличия Polymer от Angular?
Все, что перечислено в статье, так же, реализуется и с помощью Polymer.
Не понятно в чем различия. Оба <100кб; и там и там progressive web app/ встраиваемые компоненты/ и тд и тп…
Polymer — это библиотека, в отличии от Angular.
ИМХО: Polymer будет либо заброшен, после предоставления Angular того же количества компонентов, либо будет использоваться для быстрого набросания недолговечных страничек.
Буду рад если кто то выскажет свое противоположное мнение
Polymer — это всего лишь небольшая обёртка над стандартными веб-компонентами. С чего её будут забрасывать? Скорее уж Ангуляр потихоньку будет терять популярность ввиду перехода всё большего количества разработчиков на нативную реализацию того же функционала, что предоставляет Ангуляр — точно так же, как её продолжает понемногу терять jQuery.
Polymer — это тонкая обёртка над стандартными веб-компонентами. А веб-компоненты — это, по сути, только компоненты ангуляра. Нет модулей, нет сервисов, нет директив. Роутинга «из коробки» тоже нет, хотя есть специальная библиотека для него от разработчиков Polymer. Ещё нет Dependency Injection, на котором построен Ангуляр. К слову, Angular, особенно второй, значительно больше 100 Кб весит — там порядка 500-700 получается.

Во-первых, это в gzip, во-вторых rollup до последнего времени отсутствует в angular-cli и в популярных стартерах (включая сам angular-seed автора) и неизвестно когда появится. На текущий момент 800кб это старт.

Во-первых, это в gzip

Какая разница? Все что имеет значение это количество данных необходимое для доставки контента. Стало быть нужно учитывать вместе с gzip. Хотя бы для оценки насколько хорошо библиотеки жмутся. Если вы возьмете две разные библиотеки которые дают по 800 килобайт в сумме, после gzip результат уже может сильно отличаться.


Что до tree-shaking — когда-нибудь эту фичу пофиксят в webpack2 и заживем. Ну а пока согласен.

Разумеется разница есть, это не просто контент, это код, который будет распаковываться, интерпретироваться, исполняться, и чем больше этого кода, тем больше работы нужно сделать. Сразу ставит вопрос о применимости на мобильных устройствах. 100кб это уже много, а у автора все 200кб, которые он в четыре раза пожал gzip-ом и это только болванка. К этому времени надо будет еще плюсануть начальный рендеринг и подгрузку других ресурсов.

это не просто контент, это код, который будет распаковываться, интерпретироваться, исполняться, и чем больше этого кода, тем больше работы нужно сделать.

что будет работать быстрее? Много кода, который будет вычислять и отслеживать что-то в рантайме, или много кода, большая часть которого сгенерирована с учетом особенностей JIT?


100кб это уже много, а у автора все 200кб, которые он в четыре раза пожал gzip-ом и это только болванка.

Размер загружаемого кода так себе коррелируется с объемом потребляемым приложением памяти.


К этому времени надо будет еще плюсануть начальный рендеринг и подгрузку других ресурсов.

angular universal (serverside pre-rendering) + ленивая подгрузка. Опять же никто не спорит что использовать подобные инструменты для лэндингов или бложиков это… глупо как минимум. Но если вы разрабатываете приложение, то вполне себе нормально.


В комментариях к статье, которую мы с вами обсуждаем, ясно написано:


if you work on an app longer than one year then it starts to pay off. If you work on a smallish data collector, some fetches here and there, a table, click, send, some grid etc. Then it's not worth starting with cow like Angular2.
Кординальное отличие. Polymer — механизм использования html-элементов (грубо говоря тегов), начальный набор которых для примера подготовили разработчики Google. Он нужен для расширения спецификации html и переиспользовании html-блоков элементов.
Angular — библиотека приложения. Совершенно разные вещи.
Polymer позиционируется как библиотека веб-компонентов и средства для их создания, а Angular — как каркас для построения приложения в целом.
Если провести аналогию, например, с Java, то Polymer — это Swing, а Angular — это Spring.
Использовать их совместно было бы отличным выбором, но сейчас они плохо дружат, возможно с выходом Polymer 2.0 совместимость будет лучше.
  • 1.3 миллиона разработчиков использующих Angular 1
  • 360 тысяч уже используют Angular 2
Количество пользователей Angular 2 сокращается. На момент релиза 2 сообщалось о том, что 1.3 миллиона разработчиков используют Angular 1 и 480 тысяч уже используют Angular 2.

Лично я очень жду WebPack 2. А то пляски с несовместимыми изменениями достали так же как во время Angular 2RC :)

А есть какие-то живые кейсы использования Firebase? Не в гугле там и не Hello World, а что-то средне-корпоративного класса?

P.S. За статью спасибо. Я, например, не знал о серверном рендеринге и о Augury.
Ааа… Так Firebase — это облако… А я то губу раскатал.
Webpack 2 же релизнулся уже? Сейчас на гитхабе текущая версия — 2.2.0-rc3
Вся вторая ветка в статусе pre-release. Последняя стабильная версия 1.14.0.
UFO just landed and posted this here

Ждем, а тем временем rollup тоже умеет tree shaking.

Количество пользователей Angular 2 сокращается. На момент релиза 2 сообщалось о том, что 1.3 миллиона разработчиков используют Angular 1 и 480 тысяч уже используют Angular 2.

Я думаю, разгадка в том, что инфографика (по кол-ву пользователей) в статье датирована маем, а релиз состоялся в сентябре.

Ну я это так шучу если что. Просто смайлик не поставил :)
Я так понимаю основной отток и связан с тем, что версии не совместимы: третья версия, не поддерживает вторую, а вторая первую.

Собственно внедрение модульности и версионности в описанном выше виде — должно решить проблему критических изменений, а вот поддержка разных версий будет на уровне: «Мы вам собрали стабильную версию для 5.6.3, 4.4.2, 2.1.1, 1.0.1 — естественно они не поддерживают друг друга, но по отдельности смело их можете использовать»

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

Сначала полунасильное пропихивание TypeScript, теперь неразбериха с версиями…
Не удивлюсь, если React в 2017 обойдёт его только за счёт того, что выглядит более целостным.
  1. никакой неразберихи с версиями. Просто уход от монолитного фреймворка в пользу независимых компонентов. У них всех semver.


  2. По поводу typescript, что плохого в type safety? Необходимость использовать препроцессор? JSX не надо как-то компилить? Или мы уже не юзаем babel и подобные инструменты?
Так или иначе крупные компании склоняются к использованию более строгой типизации. Тот же Facebook совместно с React использует собственный велосипед — Flow.
Тут надо скорее отдать должное Google, что они объединились с Microsoft, вместо того чтобы дальше пилить свой Dart.
Эх, Англулярушка, что же с тобой сделали-то… Теперь ты «платформа», а так хотелось, чтобы это был простой и быстрый фреймворк. Да пусть даже либа, мы не гордые. Такое впечатление, что разработка ради разработки, и никто уже не помнит, ради чего мы здесь все собрались.

Влияние Гугла напрягает, все эти «изкаробки» Material, Firebase, NativeScript. Хотели с блекджеком и распутными женщинами, получили Лас-Вегас, район Красных фонарей и космодром. И не спорь!!, компания Гугл лучше знает, что тебе нужно.

а так хотелось, чтобы это был простой и быстрый фреймворк.

Курс развития ангуляра как enterprise-level фреймворк был намечен еще в 2012-ом году. Так что "простой и быстрый"… ну он относительно простой и быстрый. Просто для чего-то примитивного есть более простые инструменты.

А NativeScript-то причем? Это разработка компании Telerik, к гуглу не имеющая отношение. Так же, как и TypeScript, который был разработан в недрах Microsoft.

«Чтобы что-то написать на ангуляре 2, это нужно повторить 3 раза», «Мы встроили тебе модульную систему в стандартную модульную систему, чтобы ты мог использовать модули внутри модулей», «О у нас есть декораторы в typescript, нужно больше декораторов, огромных и маленьких». Все это боль от практики работы с ангуляром 2.

На мой взгляд (я бы хотел), angular проиграет также как когда-то проиграл prototype простому и легкому jquery из-за сложности и высокого порога вхождения. В общем, король — голый.
Мне хватило 2 недели разобраться с Angular 2 TypeScript, декораторами итд ASP.NET Core, Angular 2, SignalR для чайников
Как раз после JQuery, программирование на Angular 2 близко к WPF MVVM (Model-View-ViewModel)
Просто зависит от того, кто к чему привык. Мне знающему C# как раз очень удобнее типизированный TypeScrit, готовые контролы. После Razor и Xaml разобраться с шаблонами легко.
Для меня Angular 2 это прорыв. Есть даже желание Скрестить Angular 2 и .Net Core как кроссплатформенный аналог Silverlight

С c# сравнить не могу, вообще далек от темы WPF. Боль связана не с тем, что его сложно изучать, а с тем, что мне не нравятся такие подходы и пропадает всякое желание это изучать. Я прекрасно знаю статически-типизированную и многословную Java, и порой мне кажется что там все в разы проще чем в этом ангуляре. Ангуляр 2 изобилует boilerplate кодом, это мне не нравится.


WPF, Silverlight это технологии, от которых даже MS отказался, т.е. технология загнулась. MVVM ок, есть куча других удачных примеров реализации этого в других фреймворках. Речь не о паттернах, а об недостатках, которые я перечислил.

UFO just landed and posted this here
Да как раз, то, что ты описал и есть достоинства. Как раз разделены модель и шаблоны отображения отдельно. Это близко к Razor и Xaml. При этом есть куча компонентов по аналогии с Xaml. Мне как раз человеку не умеющему рисовать такой подход очень удобен.
Что касается WPF, то никуда он не делся. Мало того XAML находит применение в кроссплатформенных UWP, Xamarin. Тот же Xamarin.Forms используется в Tizen Creating Tizen Applications using Xamarin.Forms

Что касается Silverlight, то его проблема в том, что она поддерживается только осями MS декстопных Mac OS. А раз нет общей кроссплатформенности, то UWP и Xamarin.Forms эту нишу закрывает. А вот сделать полностью кроссплатформенные приложения с GUI в виде вэб браузера и при этом использовать библиотеки .Net Core, по моему вполне здравая мысли. Это кроссплатформенный аналог COM
Просто сейчас для .Net Core нет нормального GUI. Avalonia пока в альфе. Да и уступает тем же возможносьям контролам Angular 2

Про C# библиотеки не могу ничего сказать. Возможно там все на достойном уровне. Все мои комменты относились к ангуляру2.


  1. Чтобы что-то написать на ангуляре2 это нужно повторить 3 раза, а то и больше. Это реальный факт, чтобы что-то подключить, ты должен прописать это в нескольких местах и т.д. Это нормально вообще?


  2. Модульная система, отлично. В typescript есть своя модульная система, в ES6 тоже. Нет, они напилили свою нетривиальную и сложную модульную систему, велосипед, на мой взгляд. К тому же, в этой модульной системе есть недостаток из первого пункта.


  3. Декораторы. Нет, я не против декораторов, но в большом проекте оно превращается в декларативную кашу.

Это далеко-то не все недостатки.


Что последнего и грандиозного написал Google на своем же фреймворке? Он пытается всем навязать ынтерпрайз фреймворк, а сам его не использует… Ноль доверия технологиям компании, которую она сама не использует! Сравните с тем же реактом.


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

Ну вот используя WebPack можно сократить количество модулей. Что касается декораторов, то в том же .Net они активно используются, в том числе и для уменьшения кодирования, за счет опций компиляции Fody.PropertyChanged
Я программист 1С, и мне как программирующему Вэб клиента от случая к случаю, как раз Angular 2 значительно ближе и проще.
Посмотрел на ангуляр второй, очень понравилось как там реализована работа с анимациями. Не припоминаю фреймворки, которые берут на себя такие вещи как анимацию появления и анимацию удаления элементов.
Конкретно этот момент очень понравился, так что следующий проект планирую начинать на ангуляре. Тем более тайпскрипт уже знаю и полюбил.
Особо большого порога входа не ощутил. Да, он больше чем у первого ангуляра, но это скорее даже плюс — сложнее «наговнячить». Для средних и более проектов выглядит очень перспективно
А особенно мне нравится разделенность проекта на разные модули. Это позволит например делать виджеты, встраиваемые в другие сайты, без оверхеда на ненужные части системы.

Если посмотреть гугл тренды, то ангуляр растет быстрее реакта.
Ну и я последний месяц в нем копаюсь и изначальное чувство "че за ..." переросло в "блин, ну круто же!" :)


P.s. как верно писали выше, переход с C# на TypeScript куда проще чем на JS, автор языков то один :)

«Вы хотите знать почему мы пропустили версию 3.0? Сейчас сейчас мы расскажем. Вот почти уже рассказали. И вот еще это почитайте и мы расскажем. Всё-таки хотите знать где версия 3.0? Мы ведь используем теперь семантическое версионирование! Сейчас расскажем где версия 3.0. Вот еще чуть-чуть и расскажем. В общем просто отказались потому что внутри там с версиями накосячили ранее. Где же версии 4.1 или 4.2, почему сразу 5.0? Семантическое версионирование! Не видите логики? Мы тоже особо не видим, но так будет проще нам решить наши проблемы с версиями.»
UFO just landed and posted this here

Это результат троекратного переписывания роутера, сразу было очевидна неправильность такого решения, но они очень торопились релизнуть.

А почему в опросе радио-кнопки, а не чекбоксы? Я буду использовать angular, react, meteor — каждому проекту своё.
У меня одного бомбит, когда ты покупаешь фреймворк-шаблон, и весь он такой из себя красивый, у него «искаропки» куча версий — хтмл, ангулар, метеор, блаблабла. И вот ты такой выбираешь ангула-версию, изучаешь как этот самый неведомый Ангулар работает (независимо от причин выбора, сейчас не об этом), пишешь технодемку, мб даже альфу, или упаси Боже БЕТУ, а автор фрейма (имея АРМИЮ ПОКУПАТЕЛЕЙ) тупо молчит о том — будет ли перекат на Ангулар 2.Х или нет?
Кроме того, вы должны начать избегать библиотек с GitHub/NPM с префиксом ng2- или angular2-.

# клонируем наш репозиторий
git clone --depth 1 https://github.com/angularclass/angular2-webpack-starter.git

ok google…
Sign up to leave a comment.

Articles