Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

Что происходит с Angular 2

Вы встречали человека, у которого опытом работы с фреймворком Angular 2 больше года? Уже. Расскажу, как я туда попал.

В начале 2015 года я закончил работать над вторым изданием моей книжки по Java и, как обычно, сказал себе: «Never Again!» Работа над книгой по программированию довольно изнурительная, и после девяти месяцев обычно хочется уже вытолкать этого очередного ребенка.

Через пару месяцев мне позвонил редактор из издания Manning и стал интересоваться, чем я занимаюсь и не хочу ли я написать книжку. Yeah, right! Я стал вяло поддерживать разговор и сказал, что о Java точно писать не хочу, а сейчас занимаюсь Web фреймворками. Дело в том, что последние три года наша компания пытается найти заменитель фреймворку, который требует опального Флэш Плеера.

Весной 2015 я занимался AngularJS, хотя в отличие от остального мира веб разработчиков, мне этот фреймворк не нравился. Если честно, мне и JavaScript никогда не нравился, хотя, возможно, я так никогда и не научился его готовить.

Надо заметить, что в то время по интернету пошли слухи, что Google решил полностью переписать AngularJS, и что новая версия будет называться Angular 2. Одним словом, я предложил моему коллеге Антону Моисееву стать соавтором книги по Angular 2, то есть написать книгу о том, чего еще нет, и он согласился. После года работы, книга готова, да и Angular 2 1.0 уже вот-вот увидит свет.

As ham and hamster

Но сегодня я хотел бы поговорить не о технических достоинствах этого действительно крутого фреймворка, а о том, как Angular 2 нам продается и релизится.

Когда я начал изучать Angular 2, мне было очевидно, что Angular 2 to AngularJS is as ham is to hamster (да, я перефразирую популярное сравнение Java и JavaScript). Сегодня, год спустя, я продолжаю считать, что это два совершенно разных продукта.

AngularJS 1.x был и продолжает оставаться самым популярным JavaScript фреймворком, и им пользуются более миллиона (!) разработчиков. Думаю, кто-то в Google решил подсесть на раскрученный бренд и предложил подать совершенно другой фреймворк как новую версию AngularJS. Типа, Coca Cola 2. В целом это был правильный маркетинговый ход, особенно если учесть, что главным автором обоих фреймворков был один и тот же рок стар разработчик Misco Hevery. Однако разработчики создают и разные продукты, правда?

Если бы Microsoft использовал такую же маркетинговую стратегию, то они бы не назвали достаточно новый язык TypeScript, а продвигали бы его как C# 2. Оба эти языка придуманы одним автором по имени Anders Hejlsberg, ведь так? Потом они бы опубликовали руководство по миграции из C# в C# 2, которое было бы так же притянуто за уши, как и руководство по миграции из AngularJS to Angular 2. Я уверен, что в следующем году появятся новые руководства, объясняющие, как мигрировать в Angular приложения из React, Ember и ExtJS, и эти процессы не будут сложнее, чем миграция из AngularJS в Angular 2.

Breaking changes

Ладно, хватит придираться к имени фреймворка. Перейдем к версиям релизов. Для книжки мы написали много маленьких приложений, и нам приходилось их переписывать для каждого нового альфа релиза Angular 2. Мы не жаловались, потому что знали, на что подписывались. В каждой альфе были breaking changes, и мы переписали все примеры раз 20. В начале 2016-го фреймворк пошел в бету, а в мае 2016 пришло радостное известие: вышел Angular 2 Release Candidate 1.

Когда меня спрашивали в январе, не очень ли рискованно начинать разрабатывать новое веб приложение с Angular 2, я уверенно отвечал «Да, фреймворк достаточно стабилен». Я был неправ! В своей профессиональной жизни я видел много релизов и был уверен, что альфы всегда включают новые фичи и breaking APIs. Беты — для багфиксинга, а релиз-кандидаты — для полировки продукта. Кто мог подумать, что в период между RC.1 и RC.5 и Router API и Forms API будут полностью переписаны, и появится совершенно новый API для модулей, которые поменяют и внутреннюю архитектуру фреймворка и загрузку приложений?

Если вы меня спросите сегодня (в конце августа 2016 года), безопасно ли начинать разработку нового приложения на втором Ангуляре, я отвечу так: «Если Angular 2.0 не будет зарелизан в сентябре 2016 года, не делайте этого».

Зайдите на StackOverflow, и вы увидите вопросы типа: «У меня такая-то проблема. Я использую Angular 2 RC.1». Если кто-нибудь предложит сделать апгрейд то RC.5, автор вопроса напишет «У меня нет на это времени».

Вообще, в мире JavaScript опенсорса редкая птица долетит до версии 0.5. Когда объявляется Release Candidate любого продукта, связанного с JavaScript, для разработчиков кровавого энтерпрайза это служит сигналом «Софт стабилен. Можно использовать в коммерческих проектах».

А разве апгрейд из одного RC в другой может быть многошаговым процессом? Может! Даже руководство по апгрейду из RC4 в RC5 есть. И подзаголовок бодрячком: «Migrate your RC4 app to RC5 in minutes». Да, рассказывайте. Именно этим я сейчас и занимаюсь. У меня ушла неделя, чтобы перевести 40 маленьких приложений из RC.4 в RC.5.

Из недавнего подкаста Adventures in Angular я узнал, что, когда разработчики Angular 2 решают, включать ли breaking changes в следующий RC, они задают себе вопрос: «А улучшит ли это Angular?» Если ответ «да», то они берут ломик в руки...

Михаил Жванецкий когда-то сказал: «При чем тут борщ, когда такие дела на кухне!» Дорогие разработчики второго Ангуляра, мне нравится Angular 2 RC.5 таким, как он есть. Пожалуйста, займитесь багами и перестаньте добавлять новые ингредиенты в борщ! Очень кушать хоцца! Дайте нам стабильный релиз и уймитесь на полгода — мы тоже хотим релизать наши приложения.

The happy ending

Angular 2 — это не просто ценный мех. Это мощная платформа для разработки сложных веб и мобильных приложений. Будучи Java разработчиком, я вижу, что Angular 2 может оказать такое же огромное влияние на JavaScript комьюнити, как Spring фреймворк оказал на мир Java.

Не забывайте о 15 миллионах Java и .Net разработчиков, большинство которых еще не потрогали Angular 2, а когда потрогают, им понравится!

Я работал с AngularJS, но он мне никогда не нравился. AngularJS был (и остается) очень популярен, и не знать его было плохим тоном, но он мне не нравился все равно. Если честно, мне не нравится ни JavaScript, ни любой другой JavaScript фреймворк. Однако мне очень даже нравится дуэт Angular2-TypeScript.

В конце сентября в Лондоне пройдет конференция AngularConnect 2016, и я очень надеюсь, что кто-то выйдет на подиум и скажет: «Дамы и Господа! У нас для вас приятнейшее известие. Сегодня вышел Angular 2 1.0».

В 2017 году хедхантеры будут бегать за разработчиками, знающими Angular 2. Готовьте сани летом, if you know what I mean.

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn

Схожі статті

  • Angular vs Vue.js: що обратиAngular vs Vue.js: що обрати

    Petro Grabovskiy

    Мета матеріалу — об’єктивно оцінити переваги та недоліки в роботі Angular і Vue.js. Стаття зацікавить як початківців, так і більш досвідчених програмістів, які планують спробувати себе у чомусь новому. 22




Найкращі коментарі пропустити

Книжку закончили, Angular 2.0.0 Final вышел. Если кто решит купить нашу книгу, то Manning дал мне купон: ctwangsumtw 
(40% off all Manning books).

Весной планирую приехать в Киев и снова провести тренинг по Angular 2.
На сегодня в мире существует 1.2М разработчиков на AngularJS и уже более 600К на Angular 2. В следующем году будет серьезная нехватка разработчиков. Учитесь :)

128 коментарів

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

Что думаете про VueJs?

Есть много хороших фреймворков хороших и разных. Я работаю в среде enterprise development, где важно иметь полный набор всего, что требуется для разработки и деплоймента. С этой точки зрения, Angular впереди всех.
Vue.js — интересный фреймворк, но я не планирую им заниматься.

Как раз на днях попал в Youtube на видео, где Вам задали прямо такой вопрос про Angular и Вы сказали, что Angular не Spring. Вот теперь интересно изучить то, что Вы так хвалите и называете Spring для мира JavaScript. :-)

То было старое видео и я говорил о предыдущей версии — AngularJS. Марксизм не догма. Things change :)

Так я понял, это и подметил, что значение двух Angular для индустрии с Вашей точки зрения концептуально разные :)

Яков, а что Вы можете сказать о Angular-4 ???
Изменилось ли Ваше мнение сейчас об Angular-2 ?

Не изменилось. Это тот-же фреймворк, что и Angular 2. Они просто решили поменять систему нумерации версий (it’s called semantic versioning) и 2 рaза в год будут выпускать major release с новым номером.

цікаво, а в книзі розказують чому «hello world» в браузері рендериться 2.5 секунди і stack-trace на 70 вкладень? і нащо в «hello world» десятки залежностей.

В книге рассказывают все :)

А о hello world читать здесь: yakovfain.com/...ld-and-the-guinness-book

Книжку закончили, Angular 2.0.0 Final вышел. Если кто решит купить нашу книгу, то Manning дал мне купон: ctwangsumtw 
(40% off all Manning books).

Весной планирую приехать в Киев и снова провести тренинг по Angular 2.
На сегодня в мире существует 1.2М разработчиков на AngularJS и уже более 600К на Angular 2. В следующем году будет серьезная нехватка разработчиков. Учитесь :)

я решил. нет ли возможности купить на месте(в Украине), сразу, без скидки, но и без оплаты пересылки?

Покупайте электронную версию. Получите сразу после оплаты:
manning.com/...velopment-with-typescript

хотел отдать в корпоративную библиотеку после прочтения

Доброго времени суток. Купон, приведенный выше полностью рабочий. Спасибо

Попробуйте faindz

Яков, спасибо вам за отличнейшую книгу! Много реальных примеров, книга не скучная, читаю на одном дыхании. Параллельно переписываю расширение для хрома с angular 1 на приложение electron+angular2, скорость разработки, читабельность кода, все супер! Всем учить Angular2 и TypeScript!

Рад, что книга понравилась. Удачи!

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

Обычно я оставляю такие мелкие уколы без ответа, но этот комент уж очень показателен иллюстрируя плохие communication skills и проблемы с логикой.

Дорогой Владимир,

1. Главное правило в communication skills: если вы хотите получить что-то от человека, похвали его сначала. начав разговор с «Столько воды и ничего больше», вряд-ли ты что-то хорошее получишь в ответ.
2. Допустим, вы действительно хотите (which you don’t), чтобы я написал книгу по Aurelia. Тогда начать можно так: «Яков, мне нравится ваш стиль изложения технического материала, вы не планируете написать книгу по Aurelia?»
3. Если я лью много воды, зачем вы предлагаете мне написать еще одну книгу? Не логично.
4. Написание книги довольно сложный процесс и я не буду писать про Aurelia, только потому, что ее автор работал в Angular Team и Владимиру нравится этот фреймворк.
5. Если в этой статье, по вашему одна вода, то купите нашу книгу по Angular, где тонна технической информации.
6. Если в вашем бюджете не выделяются деньги на покупку книг, через месяц другой она появится на торрентах. Скачайте ее бесплатно.
7. Если хотите техническое описание разных аспектов Angular 2, то ДОУ не подходящий ресурс. Читайте блоги, в частности за последний год я написал штук 15 блогов по Angular2, где много кода и мало букв. Смотреть здесь: yakovfain.com
8. Если вы настолько круты, что уже научились изучать софт читая код, то здесь выложены все примеры, которые мы сделали для книжки:github.com/...Farata/angular2typescript. Кстати, у вас уже есть проекты на гитхабе, получившие больше сотни звездочек?

Удачи вам, Владимир, и спасибо за интересный комент.

Дерзко, но по делу. Спасибо за проделанную работу.

Но в статье действительно ничего существенного — больше было похоже на «излияние души».

Книгу куплю, так как по долгу службы, к сожалению, прийдется в близлежайшем времени работать с Angular 2, а по изложению в книге у меня притензий нет.

И все же, хотелось, чтобы Вы присмотрелись к Aurelia и подумали об начале работы над книгой по нему. Спасибо.

Рад, что вы не обиделись :)

Удачи!

Я вот про Aurelia узнал из вашего комментария, а про Angular 2 из многочисленных статей и разговоров коллег. Думаю Яков сделал все правильно.

Приятно почитать аналогичный опыт использования Angular 2. Начали переносить проект с angularjs на вторую версию когда вышел RC0, и могу сказать только одно — это просто адовый ад для девелопера.

А зачем переносили?

2 года назад выбрали Angular в качестве фреймворка и основная причина выбора была в том, что фреймворк будет жить еще лет 5, т.к. обьявили, что будут делать вторую версию. Начали переносить, чтоб все было готово к выходу стабильной версии, не зная, что разработчики Angular2 вкладывают в понятие RC.

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

А в чем незрелость?

изменения в RC несут глобальный характер. в то время когда должны быть только фиксы.
пользователи начинают юзать его в реальных проектах, когда он еще не готов.

вообщем, еще не созрели. в других комьюнити это тоже есть, но не в таком масштабе как в джс.

Люди которые используют RC на реальных проектах должны быть готовы к такому=)

Люди которые используют RC на реальных проектах должны быть готовы к такому=)
не должны допускатся к таковым проектам, по крайне мере они не должны иметь права принятия решения какие технологии использовать.

проблема в том что их очень-очень много

Похоже релизы устаканились. Апгрейд с RC.5 до RC.6 прошел безболезненно. Потребовались только изменения в конфиг файлах.
Я написал блог о том, как начать проект с Angular2 RC.6: yakovfain.com/...an-angular-2-rc-6-project

это отлично. я о другом говорил.

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

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

Так а причём здесь Angular 2?
В статьи автор написал:

«Если Angular 2.0 не будет зарелизан в сентябре 2016 года, не делайте этого»

Мой коммент был о джс комьюнити, а тема автора навеяла

Апгрейд на RC.6 требует только изменений в конфиг файлах. Мы уже опубликовали новую версию сида здесь: github.com/...ter/chapter2/angular-seed

Люблю Angular 1.x. Директивы, .component() и т.д. Пробовал дома для самообучения Ангуляр 2 RC не помню какую версию. Я убил почти весь день чтобы вывести Hello World. Мне не удалось, пошел гуглить и я не один такой. Оказалось в этой версии был какой то баг. Лично я, ближайший год даже смотреть в его сторону не буду. Хотя первую версию очень люблю.

блин вода какая-то — весь текст можно было одной строкой написать

Ох, лучше бы эти гугл-умы быстрее пилили API и его реализации в браузерах, а то сколько появляется инструментов-однодневок, которые явно вскоре умрут. А кому то эти 100500 конкурирующих стандартов и технологий хоть поверхностно вкуривать надо, что явно нехорошо сказывается на глубине знаний и затыках, если что. До сих пор нет даже native имплементации модульной системы, хоть и она имхо не идеальна- с выгрузкой модулей беда, все беспокоятся только как загрузить, что не дальновидно. Добавить сюда web компоненты, расширить поддерживаемые стандартные форматы типа sass, алгоритм сравнения виртуальных деревьев на каком то спец элементе типа document.createVirtualRoot(element), jsx тогда вообще отпадет, будем опять клеить html строки , на Node бы браузерный DOM навесить без отрисовки, поддержку http2 с мультиплексированием без SSL сертификатов и сразу уже на сколько проще стает жить в js среде, отбросив кучу огромных инструментов, которые решают эти задачи каждый по своему и каждые полгода сменяют друг-дуга :\

Пока поддерживают ие 8 все это не светит...

а на многих еще галерах 8-го осла теребонькают? :) Все ровно чем раньше начнут- тем раньше войдет в стандарт, а они очень тянут с фундаментальными вещами, и занимаются второстепенными. Эх...

Китайские заказчики его очень любят. Причем хардкорно-олдовой версии 8+.

А як щодо порівняння Angular 2 не з Angular 1, а з конкурентами, наприклад, Ember 2? Чи залишається він при такому порівнянні все ще «цінним хутром»?

Всегда будут оставаться люди которые могут себе позволить только шубку из кролика. Но будут и те, кто предпочитает песца или соболя. Меха нужно много хорошего и разного :)

Меньше всего ожидала в этом обсуждение упоминания шубок ) А можно так по всем рейтинг: Angular 2 -кролик,......? Буду знать, что нынче в моде (недавно был React). Такие теплые ассоциация.

кстати очень хотелось бы видеть ангуляр вс реакт-плюшки вс ембер сравнение

последнее такое сравнение было в 2015... и с первым ангуляром

это попарное сравнение

вот топик forums.meteor.com/...n-meteor-discussion/15577 но не очень свежий

смысла кстати проводить такое сравнение, пока ангуляр 2 не релизнулся, не много, по моему мнению

Оце найсвіжіше, що я бачив:
auth0.com/...s-mithril-js-vs-the-rest

Але, мабуть, воно вже не актуальне враховуючи нестабільність Angular 2 і активну роботу над оптимізацією в Ember 2.
В Ember у версії 2.9 (десь в кінці року) має бути вже друга версія Glimmer (рендерер) і розробники обіцяють, що ця версія обжене React. Судячи з тестів, що показували на EmberConf в квітні — це таки дійсно можливо, особливо враховуючи, що Glimmer на той момент був чи то у стадії першої альфи чи ще більш сирому вигляді. (Йдеться про Glimmer vs. React, а не загалом Ember vs. React)

По слухам, RC6 это последний релиз перед GA. Даже обещали no breaking changes. Планируют только баг фиксинг и удаление deprecated API. Посмотрим.

Пане Якове, тема server side rendering у книжці не розкрита, чи то просто її по змісту не видно?

Angular Universal is a third party product. Он пока не готов, мы им не пользуемся и в книге не описан.

C# і TypeScript розвиваються паралельно. Впринципі в C# більше фіч, тому не думаю що називати TypeScript C# 2 було б доцільно. Ну і крім того C# 2 існує так само як і C# 3 — 6 (невдовзі 7) що вводило б додаткові непорозуміння.

Интересует, насколько исследован и описан в книге вопрос, связан с использованием ChangeDetection и улучшением перфоманса вообще?
И практический опыт использования ChangeDetection... если был, какие впечатления?

Очень коротко. Пока не ясно, нужно-ли вообще копать в эту сторону. Описано как отключать ветки от проверки на изменения понятно (стратегия OnPush) и как вручную включать ChangeDetection во время unit testing. Более детально изучать внутренности zone.js будем когда появятся проблемы с перформансом в ну очень больших приложениях.

Спасибо. Еще маленький вопрос: стратегия onPush дает какой-то результат?

Дает, причем ощутимый. На больших списках через ngFor, например, если привязано событие на прокрутку (для загрузки изображений при прокрутке), лучше использовать onPush. Без него на 10к элементах все тормозит, с ним — летает. (p.s. думаю обсуждение реализации без ngFor, а через чистый js выходит за рамки данного коментария :) )

а вот это уже интерестно, даже очень)
может сможете подкинуть какие-то линки с примерами или каким-то мануалом по юзанию onPush? :)

Не уверен, что информация на 100% актуальна для новых RC(сам я на последний еще не перешел), но раньше читал вот это: blog.thoughtram.io/...-detection-explained.html
И еще вполне можно посмотреть презентацию, особенно если только начали работать со вторым angular: pascalprecht.github.io/...ange-detection-explained

Сейчас сидим на rc1.
Да, смотрел эти материалы. Не понял до конца, если у меня есть компонент с вложенными компонентами уже готовый, но за счет насыщенного ДОМ и большого количества дата байдингов, нескольких вложенных нгФор и тд страница тормозит, и я хочу юзать первый способ (иммутабл), то что я еще должен сделать, кроме как добавить строку:

changeDetection: ChangeDetectionStrategy.OnPush

?

Чисто теоретически — достаточно добавить на родителе, чтобы предотвратить движение по всей цепочке. Но тогда функциональность компонента может быть нарушена(тут надо смотреть, как он сделан). Не стоит забывать, что можно вызвать проверку принудительно по данной ветке через ChangeDetectorRef.

changeDetection: ChangeDetectionStrategy.OnPush на компоненте Х говорит: Проверяй на изменения Х и все ветку его детей только если изменилось значение баиндинга @Input пропертей компонента X. Дальше идут нюансы на тему, что понимать под изменениами в байндинге.

Я не знаю, поможет ли, но вот тут в целом неплохо описывается различие между первым и вторым, в т.ч о дайджест лупах. www.youtube.com/watch?v=G2cedTpDu8A

Спасибо вам за ваш труд! Обязательно куплю книгу, когда она выйдет.

Angular 2 — это не просто ценный мех. Это мощная платформа для разработки сложных веб и мобильных приложений.

Яков, а можете подробнее рассказать, что вы думаете о разработке кросс-платформенных мобильных приложений на Angular2 ?

Сам не делал, но знаю как можно. В Angular 2 рендеринг отделен от кода компонента (в отличие от React). Компонент состоит из 2х частей: темплейт и сам класс. По умолчанию темплейт содержит HTML. A для мобильных приложений темплейт содержит NativeScript, который делает native rendering для Android & iOS.

Как C# разработчик TypeScript воспринимается мною как C# в браузере, а Angular 2 как MVVM-фреймворк для браузера, эволюция идей Silverlight. Я не писал на Angular 1 по-этому не испорчен предвзятостью. Нововведения в ES6+ TS + async/await делает переход разработки из бекенда на фронтенд достаточно мягким, без необходимости разбираться в нюансах непривычного поведения ES5 относительно C#, а использование готовых UI компонент + Bootstrap не требуют глубоких познаний в классическом CSS.

Я как-то перестал серьезно относится ко второму ангуляру, когда узнал, что для сборки модулей по-умолчанию используется JSPM, про который сам автор оптимистично говорит «взлетит лет через 5». Да и Typescript для большинства приложений тоже как возу пятое колесо.

Второй момент, который меня смущает: React или Vue можно использовать в качестве отдельных компонентов, не форсируя архитектурные решения (а давайте сделаем SPA) только потому, что кому-то хочется работать с таким-то фреймворком.

JSPM не используется, а используется Webpack. Мы все время пользовались Webpack делая конфигурацию вручную, а сейчас и Angular-CLI интегрировал Webpack для сборки.

Значит соврал, извините.) Но я в доках раньше действительно видел отсылки к JSPM и System.js. Возможно, что-то поменялось.

Еще в марте Filipe Silva (www.meetup.com/...SDublin/events/228999206) подтверждал что под капотом Angular-CLI используется JSPM (на Q&A секции)

Яков, был на Вашем докладе JEEConf на данную тему. Там многие загорелись ангуляр 2. Ждем Вашу книгу )

Спасибо, что приходили :)
Вот видео того доклада: www.youtube.com/watch?v=a6v4z1kSFu4

если вы думаете что Angular 2 GA будет означать что его можно юзать, то у вас не правильное представление. дело еще в комьюнити и решение типовых задач с интеграцией под этот фреймворк.

к примеру как по мне реакт комьюнити еще не полностью созрело, но уже очень близко, правда это не касается react-native который ну очень зеленый.

вообщем как будет хотябы Angular 2.1 тогда можно юзать

React — это готовое решение для View rendering, а затем надо собирать остальные библиотеки, чтобы сделать создать себе платформу для разработки. А Angular 2 дает все, что нужно из коробки, вот только подтянутся библиотека UI компонентов Material Design 2 и генератор приложений Angular—CLI и будет почти полный набор. Остальное допишут в миллионном комьюнити.

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

По данным Angular Team уже больше 300 тысяч работают с Angular 2.

у меня в конторе порядка 1,000 людей пишут на первом ангуляре но никто не контрьбютит

В 2017 году хедхантеры будут бегать за разработчиками, знающими Angular 2. Готовьте сани летом, if you know what I mean.
Вижу, как сотни не приученных к DEVELOPER GUIDE разработчиков бегут покупать вашу книгу. Интересно, владельцы портала получать свою долю или нет ?! =)

Быстро-же меня раскусили :( Я заплатил $10К владельцам ДОУ, что-бы пол процента украинских разработчиков, которые не качают, а покупают книги купили и нашу. А если это действительно произойдет, то Manning нам выплатит royalties за эти десять экземпляров в размере $30, которые мы честно поделим пополам с Антоном.

Удачи в чтении DEVELOPER GUIDES! Скажем книгам НЕТ! Ф топку их!

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

А насколько книга соответствует текущему функционалу (после всех breaking changes) и как планируете исправлять различия?

Соответствует текущей версии. Код примеров здесь: github.com/...Farata/angular2typescript

Имхо, статья — интересная, ответы на вопросы по поводу жития в Америке — квалифицированные.
PR грамотный, о dou.ua/calendar/11936 никто не упоминает в статьях/топиках, так что, должны пойти :)

Группа уже набрана, нот если придет 1-2 человека от Доу, буду рад.

Если бесплатное — качественное, то платное внушает доверие. Делай что нибудь хорошо, и когда- нибудь тебе за это начнут платить деньги :)

K sozhaleniju, eta nisha zaniata ReactJS. Angular2 v roli dogoniajushego i svoim povedeniem tolko otpugnet developerov.

P.S.
Proshu proshenija za translit — na rabote net angle klaviaturi.

Джаваскрипт фактически все еще 90% фронтенд. Так что сравнение уместно.

Писати на джаваскрипт на сервер ... як на дотнетах під нормальну платформу =) Ну не враховується той відсоток збочинців в статистику)

Angular 2 — это не просто ценный мех
Именно, это отличная платформа для выявления тех кто не умеет разрабатывать на js. Тенденция всегда была к веб стандартам, и не важно что «я пишу на ts т.к он очень похож на язык на котором я в основном разрабатываю».
В 2017 году хедхантеры будут бегать за разработчиками, знающими Angular 2.

Угу, а потом бегать за теми кто это все будет фиксить и делать нормально ))))

ИМХО конечно , но если не нравится js — зачем в него лезть ? Это посыл к гуглу типа ))

JavaScript: быстрый старт и медленный бег
Angular2/TypeScript: медленный старт и очень быстрый бег

если не нравится js — зачем в него лезть ?
Потому, что нужно все больше и больше приложений для веба и мобильных устройств, a JavaScript просто единственный язык, который работает на любом куске железа. С другой стороны, писать на JavaScript непродуктивно — занимает много времени и написание, и отладка.

Вот и ищут люди продуктивных способы выдачи bug-free JavaScript кода, при этом пользуясь поддержкой тулзов.

Попячтес ! ng2 идет , bug-free, чудеса, воду в вино, рыбу в этого .. Короче ждемс )

JavaScript: быстрый старт и медленный бег
Angular2/TypeScript: медленный старт и очень быстрый бег
вы не умеете его готовить.

JS в опытных руках быстрый старт, и еще более быстрый бег

в опытных руках

Ключевые слова! Легионы новых программистов идут в Web разработку. Я вижу по нашей компании как резко падает производительность хороших программистов пересаживающихся с Java или ActionScript на JavaScript.
А нам нужно жить в реальном мире и разрабатывать сложные приложения в реальные сроки с теми людьми, которые у нас работают. Вот и ищем прагматическое решение.

А нам нужно жить в реальном мире и разрабатывать сложные приложения в реальные сроки с теми людьми, которые у нас работают.
это реалии бизнеса.

только не надо думать что тайпскрипт вас убережет от падение из-за того что у вас нет специалистов

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

Java + ActionScript, кажеться редкий вид Full Stack разработчика? Не?

так вообще можно про любой язык сказать, даже про Хаскель

ну допустим Java в умелых руках все равно медленее JS получается.
хотя после добавления лямбд дела пошли лучше.

насчет скалы не могу сказать, и уж подавно хаскеля, с последним знаком весьма поверхностно

Тенденция всегда была к веб стандартам

Тем не менее, при наличии Polymer, который построен строго на основе стандартов(правда нужно много полифилов), решил разрабатывать Angular 2. Тенденция всегда — экономить время и деньги, никто не будет страдать пуризмом, если инструмент решает задачу. Хороший тому пример — ReactJS. Использование своих расширений к языку и несовместимая со стандартами имплементация Shadow DOM и synthetic events почему-то не помешала ему стать популярным.

Кстати, а что следует подразумевать под стандартами, когда речь идет о таком быстроразвивающемся языке, как JS? Большая часть новых конструкций работают только благодаря наличию кучи расширений для Babel, которые еще бывают и несовместимы друг с другом.

Всегда будут инструменты для удобства разработки, но они должны быть максимально приближены к стандартам. Да, всех нас ждет неожиданный сюрприз с реализацией загрузки модулей, но сильно сомневаюсь что решением всех проблем будет http2. Полумер , кстати сказать, строился именно по горячим спекам декларативной части компонентов. Но это все не то, в основу как бы закладывалась универсальность данного подхода, а не перспектива костыляния экосистем. Придут новые технологии, более совместимые, забудется полумер, так и не взлетит второй ангуляр, надоест реакт, не в этом дело. Не нужно вестись на маркетинговый булшит, а подумать какие слабые места у конкретной технологии и проводить сравнение. Если уж на то пошло, за пример возьму babel и react . Что там несовместимого ? Он полностью совместим даже с es5, все что делает jsx — заполняет дерево для правильной инициализации virtualdom’a реакта .. можно и не реакта . А можно и без virtual dom’a. Вот почему реакт ? Да он быстрый, дифит патчит супершустрый и крутой ответите вы — а я скажу нет. Виртуалдом не панацея, а как же бэкбарнер и почему он не уступает при том что он существовал задолго ? Собственно что я хочу сказать — фиговинько вы экономите деньги и время, изучая заранее обреченные технологии.

Сравните rendering performance здесь (там правда еще альфа ангуляра):
www.roblog.io/js-repaint-perfs

Мои утверждения основаны так же и на этих тестах (кстати там некоторые не адаптированы, где-то попадались более правильные) .

О, трУ js расзработчики подтянулись. На мой, возможно, замыленый взгляд, последний тайп скрипт — это ES6 + статическая типизация. Так что не совсем понятен смысл ваших нападок.

Ну так статическая типизация, в основном, и вызывает баттхёрт у труЪ JS разработчиков :) Возможно, просто не все их них в курсе, что в TypeScript она опциональна.

Х.з. Вряд ли я

труЪ JS разработчик
но в целом не до конца понимаю смысла добавления строгой типизации в JS, да и классических классов тоже...
Ну разве что некоторым товарищам, пришедшим из ’строго типизированных миров’ так проще

Мне кажется — это просто инструмент, который подходит под свои задачи.

Некоторые товарищи — это те, которые хотят узнавать об ошибках до рантайма. Странное желание :)

Ваш сарказм неуместен, потому как ’из строготипизированного’ мира. Желание вполне уместно, но для JS все таки ближе подход REPL.
Я кстати не говорю что не понимаю зачем строгая типизация вообще, я не совсем понимаю зачем она конкретно в JS.

И да, кстати, возможно это связанно с тем фактом, что мне JS в целом очень даже нравится, и я даже могу смело сказать что люблю на нам писать. А ’некоторые товарищи’ его не любят.

Думаю, что пытаются отбиться те, которые и на ES6 синтаксис не хотят пересаживаться. А напрасно. Поддержка ES6 в браузерах уже довольно высока: kangax.github.io/compat-table/es6

На браузерную поддержку я бы, пока, не очень полагался. Можно долго и громко кричать, что «IE не нужен», однако же — в проектах для «ширнармасс» или enterprise’а (в котором первый Angular был вполне себе востребован) — поддержка IE-таки нужна. А у «ослика» с пониманием ES6 всё очень плохо, практически — никак. Что хуже, на Edge в обозримом будущем поголовно все пользователи IE не переползут. Причем, в потребительском сегменте это, наверное, случится даже раньше, чем в enterprise.

Что лично меня наводит на мысль, что говорить о ES6 как о «золотом стандарте» именно для браузеров — пока рановато.

Разумеется, есть babel и прочие транспайлеры, вот только last time I checked, у них с полной поддержкой ES6 тоже далеко не всё радужно. По ощущениям, у TypeScript с пониманием того, что может быть скомпилировано в ES5, а что — нет, всё гораздо предсказуемей.

Есть шимы, которые добавляют поддержку ES6 API в сегодняшние браузеры: www.npmjs.com/package/es6-shim

Интересно, а на сколько их использование является хорошей практиков. Я так смотрю, весят они немало.

Посмотрел на этот shim. Добавить недостающие API — не фокус, polyfill’ы известны давно. Но ES6 ценен не только новыми API, но, в первую очередь — расширениями самого языка. Не уверен, что с помощью технологии shim / polyfill даже теоретически возможно расширить возможности самого браузерного JavaScript движка.

Підписатись на коментарі