Комментарии 43
Все, что перечислено в статье, так же, реализуется и с помощью Polymer.
Не понятно в чем различия. Оба <100кб; и там и там progressive web app/ встраиваемые компоненты/ и тд и тп…
ИМХО: Polymer будет либо заброшен, после предоставления Angular того же количества компонентов, либо будет использоваться для быстрого набросания недолговечных страничек.
Буду рад если кто то выскажет свое противоположное мнение
Во-первых, это в 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.
Angular — библиотека приложения. Совершенно разные вещи.
Если провести аналогию, например, с Java, то Polymer — это Swing, а Angular — это Spring.
Использовать их совместно было бы отличным выбором, но сейчас они плохо дружат, возможно с выходом Polymer 2.0 совместимость будет лучше.
Количество пользователей Angular 2 сокращается. На момент релиза 2 сообщалось о том, что 1.3 миллиона разработчиков используют Angular 1 и 480 тысяч уже используют Angular 2.
- 1.3 миллиона разработчиков использующих Angular 1
- 360 тысяч уже используют Angular 2
Лично я очень жду WebPack 2. А то пляски с несовместимыми изменениями достали так же как во время Angular 2RC :)
А есть какие-то живые кейсы использования Firebase? Не в гугле там и не Hello World, а что-то средне-корпоративного класса?
P.S. За статью спасибо. Я, например, не знал о серверном рендеринге и о Augury.
Ждем, а тем временем 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 — естественно они не поддерживают друг друга, но по отдельности смело их можете использовать»
В любом случае, это шаг вперед и разумеется лучше чем было, однако в целом проблему предыдущих версий не решит — ибо сие достигается лишь грамотной архитектурой.
Не удивлюсь, если React в 2017 обойдёт его только за счёт того, что выглядит более целостным.
никакой неразберихи с версиями. Просто уход от монолитного фреймворка в пользу независимых компонентов. У них всех semver.
- По поводу typescript, что плохого в type safety? Необходимость использовать препроцессор? JSX не надо как-то компилить? Или мы уже не юзаем babel и подобные инструменты?
Влияние Гугла напрягает, все эти «изкаробки» Material, Firebase, NativeScript. Хотели с блекджеком и распутными женщинами, получили Лас-Вегас, район Красных фонарей и космодром. И не спорь!!, компания Гугл лучше знает, что тебе нужно.
а так хотелось, чтобы это был простой и быстрый фреймворк.
Курс развития ангуляра как enterprise-level фреймворк был намечен еще в 2012-ом году. Так что "простой и быстрый"… ну он относительно простой и быстрый. Просто для чего-то примитивного есть более простые инструменты.
А NativeScript-то причем? Это разработка компании Telerik, к гуглу не имеющая отношение. Так же, как и TypeScript, который был разработан в недрах Microsoft.
На мой взгляд (я бы хотел), angular проиграет также как когда-то проиграл prototype простому и легкому jquery из-за сложности и высокого порога вхождения. В общем, король — голый.
Как раз после 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 ок, есть куча других удачных примеров реализации этого в других фреймворках. Речь не о паттернах, а об недостатках, которые я перечислил.
Что касается WPF, то никуда он не делся. Мало того XAML находит применение в кроссплатформенных UWP, Xamarin. Тот же Xamarin.Forms используется в Tizen Creating Tizen Applications using Xamarin.Forms
Что касается Silverlight, то его проблема в том, что она поддерживается только осями MS декстопных Mac OS. А раз нет общей кроссплатформенности, то UWP и Xamarin.Forms эту нишу закрывает. А вот сделать полностью кроссплатформенные приложения с GUI в виде вэб браузера и при этом использовать библиотеки .Net Core, по моему вполне здравая мысли. Это кроссплатформенный аналог COM
Про C# библиотеки не могу ничего сказать. Возможно там все на достойном уровне. Все мои комменты относились к ангуляру2.
Чтобы что-то написать на ангуляре2 это нужно повторить 3 раза, а то и больше. Это реальный факт, чтобы что-то подключить, ты должен прописать это в нескольких местах и т.д. Это нормально вообще?
Модульная система, отлично. В typescript есть своя модульная система, в ES6 тоже. Нет, они напилили свою нетривиальную и сложную модульную систему, велосипед, на мой взгляд. К тому же, в этой модульной системе есть недостаток из первого пункта.
- Декораторы. Нет, я не против декораторов, но в большом проекте оно превращается в декларативную кашу.
Это далеко-то не все недостатки.
Что последнего и грандиозного написал Google на своем же фреймворке? Он пытается всем навязать ынтерпрайз фреймворк, а сам его не использует… Ноль доверия технологиям компании, которую она сама не использует! Сравните с тем же реактом.
Angular2 очень дорог в разработке и поддержке, в том смысле, что он требует от разработчиков больше времени, усидчивости и знаний, а на выходе дает либо такой же результат, либо хуже чем у других фреймворков и библиотек. Просто, я работаю в компании, где к стандарту разработки принят ангуляр2 и реакт. Ангуляр2 мы уже практически не используем, а там где он есть, он обходится заказчику большим бюджетом. В общем печально, что из-за маркетинга одной компании, бизнес должен переплачивать непонятно за что.
Я программист 1С, и мне как программирующему Вэб клиента от случая к случаю, как раз Angular 2 значительно ближе и проще.
Конкретно этот момент очень понравился, так что следующий проект планирую начинать на ангуляре. Тем более тайпскрипт уже знаю и полюбил.
Особо большого порога входа не ощутил. Да, он больше чем у первого ангуляра, но это скорее даже плюс — сложнее «наговнячить». Для средних и более проектов выглядит очень перспективно
Если посмотреть гугл тренды, то ангуляр растет быстрее реакта.
Ну и я последний месяц в нем копаюсь и изначальное чувство "че за ..." переросло в "блин, ну круто же!" :)
P.s. как верно писали выше, переход с C# на TypeScript куда проще чем на JS, автор языков то один :)
Кроме того, вы должны начать избегать библиотек с GitHub/NPM с префиксом ng2- или angular2-.
# клонируем наш репозиторий
git clone --depth 1 https://github.com/angularclass/angular2-webpack-starter.git
ok google…
Просто Angular