Angular и ангелите. Има ли бъдеще популярният фреймуърк?

Има. Бързам да отговоря на въпроса от заглавието, нищо че така не се прави и има голям риск да ви изгубя като читатели. Но тук мога да си позволя повече лично мнение, при това крайно, защото става дума за технологията, с която и аз сам си изхранвам хляба. И си я харесвам доста – изглежда ми уютна, подредена и перспективна.

Но защо си заслужава да вярваме в бъдещето на Angular, след като през последните години прекият му конкурент React се превърна в такъв огромен хит в света на JavaScript уеб проектите? Какво донесоха новите версии на популярния фреймуърк и какво се очаква от следващите? Какво го отличава и за какъв тип проекти е подходящ? Ето тези отговори ще потърсим на следващите редове.

 

Ъгловатото А

12-ата версия на Angular се появи официално през май 2021-а. Както и повечето последни нови варианти на популярния фреймуърк, тя не донесе някакви кой знае колко драматични промени, но определено се понрави на доста голяма част от програмистите. Основно с това, че вече навсякъде в отделните стъпки от работата на платформата се появи Ivy – новият компилатор, който от няколко години е любимият маркетингов образ на екипа, създаващ Angular. С него се промотира как компилацията ще става по-бърза, а файловете, които потребителят получава, ще стават по-малки – две от основните слабости в битката на фреймуърка с другите двама големи състезатели – React и Vue.

Но нека тръгнем по-отдалеч. Как започна приключението на Angular и какво донесе то дотук на програмистите, призвани да създават сложните и многопластови интернет страници, които до голяма степен изграждат днешния модерен онлайн свят.

 

Към сърцето на браузъра

Gmail е може би първото приложение, което промени всичко. С представянето му веднъж завинаги стана ясно, че наистина в браузъра всеки потребител може да има изживяване, като в нормална апликация, която си сваляш и инсталираш на компютъра. Да, тогава Angular не го е имало и във фантазиите на създателите му, за създаването на пощата се е използвал Closure – колекция от библиотеки на различни езици и специално оптимизиран компилатор.

След това много от водещите компании започнаха свои проекти за подобни страници – апликации, с помощта на особено популярната някога JavaScript библиотека JQuery, която и до днес присъства под някаква форма в над 70% от действащите сайтове.

Да, можеха да се постигнат сериозни резултати, но все пак – нищо подобно на днешните огромни уеб апликации, като например Facebook. За всякаква по-сложна логика се изискваше писането на доста сериозно количество код, липсваха стандарти как той да се подрежда и оптимизира…

Появиха се и някакви първи по-цялостни библиотеки като Backbone и Ember.js, но… във въздуха се носеше усещането, че скоро ще се роди технология от ново поколение, която да облекчи живота на програмистите и да им позволи да започнат да правят приложенията от съвсем нов тип с невиждана дотогава лекота и скорост.

 

Ъгловат на сцената

И това нещо се появи през 2010-а, наречено Angular, което грубо може да се преведе на български като „ъгловат, ръбест“. Удобна за употреба библиотека, в която се пише на чудесно структуриран JavaScript. HTML и CSS файловете се обвързват със съответния им JS код. Използва се идеята за множество преизползваеми компоненти, които изграждат приложението. Въведена е за първи път и концепцията за „двупосочно обвързване на данните“ (two-way data binding), чрез която информацията успешно се прехвърля между логическата и визуалната част от страницата.

Дизайнерите и програмистите могат да работят заедно, за да създават сложни, скалируеми уеб приложения. Които от този момент вече се наричат SPA – Single Page Application – или „приложения от една страница“. Отваряте въпросната апликация в браузъра си и тя започва да ви предлага огромните си възможности и пълноценно изживяване.

Зад проекта Angular от тогава до днес стои Google. Той продължава да бъде безплатен, екипите от цял свят са стимулирани да го ползват за всеки малко по-сложен проект.

За няколко години модата на Angular буквално избухва. Ражда се професията на фронтенд програмиста в съвременния ѝ вид, сформират се сериозни екипи, Angular JS се превръща в хит и на него се създават безброй страници.

Всички на SPA

Е, не всичко е цветя и розите, все още скоростта, с която работят приложенията, може да бъде оптимизирана, но е направена огромна стъпка напред.

И точно както се случва в драматичните житейски истории, няколко години по-късно инженерите, създали Angular, правят една чутовна глупост, която почти коства цялото реноме и светлото бъдеще на техния проект.

Идва 2014-а и официално е представена втората версия на Angular. Която е истински шок за екипите. Защото инженерите са преценили, че ще минат на нов език – TypeScript, който да надгражда използвания преди това чист JavaScript. Всяка една апликацията, която ползва Angular, ще трябва да бъде пренаписана из основи.

Доста шокираща новина, която наистина нанася сериозен удар върху библиотеката. Моментът е особено лош за нея и защото година по-рано се е появил другият голям състезател в полето на SPA приложенията. React, конкурентът, създаден от Facebook, за броени месеци печели огромен брой почитатели, защото се учи много по-бързо, семпъл е, грижи се само за визуалната страна от апликациите, а всичко останало доверява на огромна екосистема от допълнителни библиотеки.

 

Ръбоват чар

Получава се сериозно разделение. Огромна част от екипите започват да създават изцяло нови приложения, ползвайки React. Други отказват да се съобразят с промяната и продължават с Angular JS, който продължава да се поддържа и до днес. Макар и без особено развитие, което постепенно го обрича на забвение.

И все пак, немалко са екипите, които избират да продължат да се доверяват на Angular.

През следващите години, та до днес, библиотеката продължава да се развива. Както виждате, много бързо – едва за 7 години, сме стигнали от втората версия на приложението до 12-ата. Продължават и днес да го избират много архитекти, които планират по-мащабни приложения. Не е тайна, че в пряк сблъсък с конкурента си React, който днес определено е по-модерният избор, Angular печели тогава, когато става дума за наистина много комплексни приложения.

Всяка следваща версия определено подобрява и обогатява възможностите на библиотеката. Постепенно се появяват допълнителни възможности, оптимизации, синтактични подобрения. Но основата си остава същата, по всичко личи, че така ще бъде и в обозримото бъдеще.

 

Добра ограда

Постепенно мнозина програмисти одобряват предимствата от строгото типизиране и избора на TypeScript като задължителен език за разработка.

Навлизането на новия компилатор Ivy безспорно прави приложенията по-бързи, което преди това е и една от основните слабости в битката на Angular с конкурентите му. Нещо повече, „опарени“ от фиаското си през 2014-а инженерите създатели на Angular оттогава видимо бягат от резки ходове – почти винаги мигрирането към следващата нова версия е максимално улеснено, не създава сериозни проблеми на програмистите. Angular се е превърнал в солидно, удобно оръжие, което си е запазило своето място под слънцето и, изглежда, ще го пази дълго. Все пак, не бива да забравяме, че зад него и до днес стои марката на Google, че на Angular се доверяват някои от най-големите онлайн проекти в най-различни сфери.

Тъй като става дума за цялостен фреймуърк, а не просто за семпла библиотека, както при React, това създава по-малко рискове от гледна точка на сигурността. Рядко ви трябват допълнителни библиотеки и дори не е възможно да добавяте такива, които са извън екосистемата на Angular.

Иначе, ако попитате някой фронтенд програмист кой измежду трите големи състезатели е по-добър, със сигурност той ще има свой фаворит, който ще опсипе с похвали, а хулите ще остави за другите два. Ако ви предстои да се захванете с учене, съветвам ви да разгледате най-базови проекти и на трите, преди да решите. Наистина, в този избор има доста голяма доза субективност, която няма как да бъде избегната.

Така или иначе, ако се спрете на Angular, добре сте дошли! Определено няма да сбъркате, ще попаднете в екосистема, за която със сигурност ще има предостатъчно търсене през следващите немалко години. А ако още събирате смелост… опитайте. Наистина фронтенд програмирането е доста по-интересно занимание, отколкото изглежда отстрани.

<a href="https://www.zettahost.bg/author/georgik/" target="_self">Георги Караманев</a>

Георги Караманев

Георги е журналист, писател и Front-end програмист – част от екипа на ZETTAHOST.bg. Има повече от 15 години опит в подготвянето на публикации на технологична тематика за Списание 8, в. „24 часа“ и други медии. През 2019 г. и 2021 г. получи наградите в категория „Технологии и иновации“ от конкурса на Dir.bg за чиста журналистика Web Report.
Последвайте ни

Най-нови публикации:

ChatGPT: 6 ползи от изкуствения интелект за онлайн бизнеса

ChatGPT може да се превърне в тайното оръжие за вашия онлайн бизнес. От изготвянето на съдържание за сайта, през анализа на данни до съставянето на бизнес план, платформата предлага различни решения, а ние ви представихме 6 от основните ползи на изкуствения интелект.

Личен сайт безплатно!

Регистрирай се безплатно и си направи сайт още днес.

Безплатната хостинг услуга на ZETTAHOST.bg няма скрити такси и изисквания за ползване.

Безплатен хостинг

Pin It on Pinterest

Share This