Введение в AngularJS и Angular
1. Что такое AngularJS?
AngularJs это Javascript Framework, созданный для построения динамических веб приложений (dynamic web app), обычно используется для создания одностраничного приложения (Single Page Application - SPA). И работает на основании расширения атрибутов (attribute) для тегов у HTML (Атрибуты следуют правилам Angular). AngularJS это бесплатная платформа, которая предпочитается для использования тысячами программистами во всем мире.
2. История AngularJS & Angular
AngularJS был разработан с 2009 года с помощью Misko Hevery и его другом Adam Abrons. Он считался только отдельным проектом (Side project) помимо их главной работы.
После этого Misko Hevery принял участия в проект под названием Google Feedback (Отзыв Google) как програмиист с неполным рабочим днем. Misko Hevery и 2 других программиста написали 17.000 строк кода для проекта Google Feedback в течении 6 месяцев. Количество кода увеличивалось с каждым днем и Misko Hevery понял, что стало сложнее исправлять и контролировать вознакающие ошибки.
Поэтому Misko Hevery поспорил со своим менеджером, что он сможет переписать все коды для Google Feedback используя свой проект GetAngular за 2 недели. Hevery проиграл, вместо 2 недель ему потребовалось 3 недели для завершения работы, но коды проекта уменьшились с 17.000 до 1.500 строк.
Благодаря успеху Hevery, его менеджер Brad Green заметил и начал развивать AngularJS. AngularJS на самом деле ускорился в течении того времени.
3. Кто стоит позади AngularJS?
Google!!
Один из начальных создателей Adam Abrons перестал работать над AngularJS, но Misko Hevery и его менеджер Brad Green превратили начальный проект GetAngular в новый проект, назвали его AngularJS и построили группу для его поддержки в Google.
Одна из первых больших побед AngularJS в Google произошла, когда компания DoubleClick была перекуплена Google и они начали переписывать часть их приложения с помощью AngularJS. Благодаря первоначальному успеху DoubleClick, Google словано начал инвестировать больше ресурсов в AngularJS и разрешил AngularJS быть использованным как внутри, так и снаружи.
Из-за этого, команда Angular внутри Google быстро развивалась.
4. AngularJS vs Angular
На самом деле Angular имеет 2 абсолютно разных версий, версия 1 и другая версия 1.
Version 1:
Версия 1 имеет официальное название AngularJS, сейчас она все еще разрабатывается. 9 Августа 2018 года была выпущена версия 1.7.3. Ниже являются даты выпуска:
Version | Release Date (dd/MM/yyyy) |
1.7.3 | 09/08/2018 |
1.7.2 | 12/06/2018 |
1.7.1 | 08/06/2018 |
1.7.0 | 11/05/2018 |
1.6.10 | 18/04/2018 |
1.6.9 | 02/02/2018 |
1.6.8 | 22/12/2017 |
1.6.7 | 25/11/2017 |
1.6.6 | 18/08/2017 |
Версия Angular1 на самом деле основана на Javascript, программисты будут писать коды по языку Javascript, поэтому выглядит будто лего учится и выполнимо и работадатели могут легко найти кандидатов. Но в плане выполнения, сообщество программистов сравнивают с ReactJS. Многие компании разработки программных обеспечений хотят построить новый продукт, учитывают использование Angular другой версии не 1.
Version 2, 3, 4, ..
Начиная с версии 2 он имеет официальное название Angular. 4 Мая 2018 год официально была выпущена версия 6. Ниже являются даны выпуска:
Version | Release Date (dd/MM/yyyy) |
7.0.0 | 12/2018 (?) |
6.0.0 | 05/05/2018 |
5.0.0 | 01/11/2017 |
4.0.0 | 12/12/2016 |
2.0.0 | 23/10/2014 (*) |
Angular с версии 2 и далее имеет абсолютно другое мышление, по сравнению с Angular1. Данное изменение создано с амбицией помочь Angular победить ReactJS.
Некоторые улучшения Angular по новому мышлению:
Component:
Главная новая идея у Angular4 это Component (Компонент), Component не новое в ReactJS, но Component это новый принцип который не имеет Angular1 (AngularJS). Component был применен Angular4 для создания ясной структуры кода и имеет способность переиспользовать готовые component.
Typescript:
Typescript был разработан с помощью Miscrosoft для написания кода Javascript с объектно ориентированным стилем (Object-oriented). Сам примитивный Javacript был смоделирован по направлению функционального программирования (Functional programming), поэтому не будет свойств наследия, полиморфизма и т.д.,...
Typescript имеет некоторые свойства для Javascript как: наследственность, вид данных, конструктор,… Можно сказать, Typescript делает так, что javascript имеет стиль очень "Java". На самом деле многие синтаксисы у Typescript не понимаются браузером, поэтому он не может быть запущен напрямую в браузере, поэтому нужен еще 1 шаг это компилирование (compile) кода Typescript в обычный Javascript. Роль у Typescript это как промежуточный язык, он обычно известен, как Language specification (Спецификация языка).