Angular vs Aurelia: Cine câștigă?

Blog

Un framework de aplicații web (WAF), cunoscut și sub numele de framework web (WF), susține dezvoltarea de aplicații web, care include interfețe de programare a aplicațiilor web (API), resurse web și servicii web. WAF standardizează abordările pe care dezvoltatorii le utilizează pentru a construi și implementa aplicații web, în ​​mare parte prin automatizarea sarcinilor comune. De exemplu, acestea includ deseori biblioteci de rutine care efectuează sarcini precum accesul la baze de date, gestionarea sesiunilor și crearea de șabloane de cadru. Aceste rutine ajută la promovarea reutilizării codului, ceea ce reduce timpul de dezvoltare.

Multe WAF-uri sunt disponibile în prezent, astfel încât selectarea unuia dintre cele mai bune necesită compararea acestora în multe domenii. Aurelia și Unghiular sunt cadre de clienți JavaScript populare (JS) pe care factorii de decizie le iau în considerare adesea atunci când dezvoltă aplicații pentru desktopuri, dispozitive mobile și web. Utilizarea JS este în prezent un factor critic pentru cadrele de dezvoltare software, potrivit unui 2018 studiu de StackOverflow, arătând că aproape 70% dintre dezvoltatori consideră că JS este limbajul lor principal de codare.

Atât Aurelia, cât și Angular includ caracteristicile moderne necesare pentru a construi aplicații complexe, cum ar fi HTML, rutare, aplicație cu o singură pagină (SPA) și compoziția interfeței cu utilizatorul (UI). Cu toate acestea, există și diferențe semnificative în ceea ce privește performanța și capacitățile lor, necesitând o analiză atentă a multor compromisuri.

Unghiular

Angular este un cadru open source bazat pe TypeScript dezvoltat de Echipa Angular de la Google, împreună cu comunitatea sa de organizații și persoane. TypeScript este un limbaj de programare open-source dezvoltat de Microsoft și lansat pentru prima dată în 2012. Diferența sa principală față de JS este că TypeScript efectuează mai multe verificări de cod la momentul compilării.

Angular este o rescriere bazată pe AngularJS și este în general considerată un produs separat. Angular a fost lansat inițial în 2016 și este în prezent în versiunea 9.0.0, începând din februarie 2020. Asistența activă pentru această versiune de Angular se va încheia în iulie 2020, iar asistența pe termen lung (LTS) se va încheia în iulie 2021.

Un sondaj la începutul anului 2020 arată că numărul persoanelor care au folosit Angular și intenționează să îl utilizeze în continuare a scăzut 2 la sută comparativ cu același timp din 2019. Mai mult, interesul general pentru Angular a scăzut aproximativ 1 la sută .

Aurelia

Aurelia a fost lansată inițial în 2015 și se află în prezent în prima sa versiune. Interesul dezvoltatorului pentru Aurelia culmea la mijlocul anului 2016 în Statele Unite. La jumătatea anului 2019, dobânda era de aproximativ 25% din acel vârf. Această tendință este tipică altor cadre JS; interesul inițial crește rapid și apoi dispare pe măsură ce dezvoltatorii își îndreaptă atenția către produse mai noi.

Convenție asupra configurației

Aurelia favorizează convenția în locul configurației, deci are un impact minim asupra dezvoltării. Această paradigmă de proiectare software, cunoscută și sub numele de codificare prin convenție, reduce numărul de decizii pe care dezvoltatorii trebuie să le ia, în mod ideal, fără a sacrifica flexibilitatea. David Heinemeier Hansson a introdus această filozofie în Ruby on Rails, un alt cadru de dezvoltare web. Cu toate acestea, este strâns legat de conceptele anterioare din dezvoltarea de software, cum ar fi principiul celei mai mici uimiri și a valorilor implicite sensibile.

Codificarea prin convenție înseamnă, în esență, că un dezvoltator trebuie să specifice doar aspectele neconvenționale ale unei aplicații. De exemplu, dacă un model are o clasă numită Vânzări, baza de date va avea în mod implicit un tabel corespunzător numit Vânzări. Dezvoltatorul nu trebuie să scrie cod pentru aceste nume decât dacă se abate de la această convenție. Comportamentul Aureliei este similar atunci când scrieți fișiere de configurare; dezvoltatorul trebuie să specifice setări numai atunci când comportamentul dorit se abate de la convenție.

Module

Aurelia este o colecție de module JS care servesc drept platformă pentru construirea de aplicații pentru browsere web, desktopuri și dispozitive mobile. Construirea aplicațiilor în Aurelia constă în general din compunerea componentelor simple cu clasele standard JS și TypeScript, împreună cu un șablon HTML. Aceste module implementează caracteristici specifice Aurelia, cum ar fi următoarele:

  • Legare
  • Injecție de dependență
  • Metadate
  • Rutare
  • Modelare

Dezvoltatorii pot utiliza multe dintre aceste module individual în orice proiect JS, inclusiv Node.js.

Standarde web deschise

Aurelia folosește, de asemenea, standardul Document Object Model (DOM), care este independent atât de platforme, cât și de limbaj. Acest standard plasează documentele web într-o structură de copac astfel încât fiecare nod din structură să reprezinte o parte a unui document. Aurelia implementează propriul său parser HTML și extensiile JS, folosind în același timp API-urile DOM pentru a optimiza performanța. Se bazează, de asemenea, pe componentele web ale World Wide Web Consortium (W3C), care vor permite aplicațiilor Aurelia să evolueze pe măsură ce acest standard avansează fără a necesita rescrieri majore.

Istorie

Rob Eisenberg este o figură centrală în dezvoltarea atât Angular cât și Aurelia. El a discutat motivele pentru care a părăsit echipa Angular de la Google pentru a dezvolta Aurelia într-un 2016 interviu cu Cuttlesoft. Abordarea lui Rob de dezvoltare de software este puternic influențată de dragostea sa pentru muzică, pe care a studiat-o și la facultate. El consideră dezvoltarea de software ca o combinație de artă și raționament, la fel ca și în cazul compoziției muzicale.

Avantaje open-source

Rob este un puternic susținător al software-ului open-source, care i-a afectat foarte mult cariera de dezvoltator de software profesionist. El consideră comunitatea dezvoltatorilor ca fiind unul dintre cele mai mari avantaje, deoarece oferă un sentiment de camaraderie care permite dezvoltatorilor să obțină cu ușurință ajutor. De asemenea, înseamnă o relație mai strânsă între dezvoltatorii care produc sursa și utilizatorii săi, care ajută codul să crească mai ușor. Un alt avantaj al software-ului open-source este că bug-urile sunt identificate și remediate mai repede, deoarece mai mulți ochi se uită la cod. Dezvoltatorii au, de asemenea, o libertate mai mare, deoarece nu există proprietari care să dicteze cursul pe care ar trebui să-l urmeze dezvoltarea.

Asistență pentru întreprinderi

Dezvoltatorii pot crea suplimente comerciale pentru Aurelia, care susțin întreprinderile. Organizațiile pot forma un acord de nivel de sprijin (SLA) cu Aurelia, care pune în legătură ambele echipe de dezvoltare. Întreprinderile pot trimite bilete de asistență care primesc prioritate în conformitate cu condițiile SLA. Această valoare adăugată merită costul pentru multe întreprinderi, deoarece acestea pot obține avantajele software-ului open-source, păstrând în același timp suportul software-ului proprietar. Aurelia va susține, de asemenea, clienții versiunii 1 timp de un an după lansarea versiunii 2, în timp ce utilizatorii fac această tranziție.

Evoluții viitoare

Rob se așteaptă la tendinţă spre dezvoltare open-source pentru a continua să crească. Dezvoltarea software-ului este deja la punctul în care un cod open-source este o necesitate virtuală. Organizațiile care anterior au fost reticente în adoptarea dezvoltării open-source încep să-i recunoască beneficiile. Mai mulți dezvoltatori doresc open-source, făcând adoptarea mai mult o chestiune de management și politică a companiei decât o problemă tehnică. Jucători majori precum Apple și Microsoft adoptă open source, iar alți dezvoltatori vor urma în curând exemplul.

Microsoft, în special, a păstrat dezvoltarea de software ca parte a competenței sale de bază, ceea ce nu este cazul Google. Majoritatea veniturilor lor provin din reclame, deci adoptă o abordare foarte diferită a dezvoltării software-ului. În timp ce lucrează la Angular ca un proiect open-source, nu consideră că este un produs Google și nici nu consideră că dezvoltatorii Angular sunt clienții lor. Pe de altă parte, Microsoft consideră că dezvoltatorii .Net sunt clienții lor. Această diferență în perspectiva afacerii are implicații profunde pentru dezvoltatorii open-source.

Motive pentru părăsirea Google

Rob a părăsit Google din cauza diferențelor ireconciliabile pe care le-a avut cu restul echipei Angular. El a considerat că alegerile lor de proiectare nu ar fi suficient de flexibile atunci când Angular a fost implementat. De asemenea, el a crezut că procesul de dezvoltare al Angular a fost deconectat de comunitatea sa de utilizatori, mai ales când a început lucrarea la versiunea 2. În ciuda interesului puternic al Google de a-și susține utilizatorii și a disponibilității datelor, nu a produs niciodată studii de caz sau cazuri de utilizare pentru Angular.

Echipa de dezvoltare Angular este organizată ca o sub-echipă a echipei Google Customer Relationships Management (CRM) Google. Orice face Angular va fi astfel condus de sistemul Adwords CRM, deoarece nu este un produs independent. Angular nu are o latură de afaceri, deoarece este finanțat intern de Adwords, care are propria sa agendă.

La pachet

Luarea lui Rob din timpul petrecut la Google este că companiile cheltuiesc milioane de dolari pentru a dezvolta software pe platformele JS fără sprijin oficial din partea producătorilor acestor platforme. Sistemul de la Google pur și simplu nu este configurat astfel încât o firmă de dezvoltare software să poată oferi pur și simplu bani Google pentru a remedia o eroare. În practică, compania ar trebui să angajeze o echipă de dezvoltare care să o facă, ceea ce ar reprezenta probabil o încălcare a condițiilor de furnizare a serviciilor (TOS) ale Angular. Rob a părăsit Google pentru că și-a dat seama că această structură creează probleme de afaceri la care nimeni din Google nu lucra într-o măsură semnificativă. Nu le-a putut rezolva în timp ce lucra la echipa Angular, deoarece soluția este să creeze o companie și un produs cu structura necesară pentru a oferi răspundere clienților săi.

Comparaţie

The Slant favorizează Aurelia peste Angular pentru un cadru JS model-view-viewmodel (MVVM) din partea clientului începând cu 2020, clasându-se pe Aurelia pe locul trei și pe Angular pe locul cinci. Modelul arhitectural al software-ului MVVM promovează separarea dezvoltării interfeței grafice a utilizatorului (GUI) cu cea a logicii de afaceri, în general prin utilizarea unui limbaj de markup sau a unui cod GUI dedicat. Acest model expune obiecte de date astfel încât dezvoltatorii să le poată gestiona și prezenta cu ușurință utilizatorilor. Domeniile importante pentru a compara Aurelia și Angular includ următoarele:

  • Convenție asupra configurației
  • Respectarea standardelor
  • Popularitate
  • Sprijin comercial
  • Suport lingvistic
  • Rutare
  • Documentație
  • Interoperabilitate

#angular #javascript # web-development #programming #developer

www.baytechconsulting.com

Angular vs Aurelia: Cine câștigă?

Angular și Aurelia sunt cadre de dezvoltare web populare bazate pe JavaScript. Articolul nostru despre acest subiect compară Angular și Aurelia într-o varietate de domenii pentru a determina cea mai bună alegere.