Minunata lume JS, ES, TS, Dart, Angular, React si Vue

Categorii: Programare

16-May-2020 14:48 - 227 vizionari

JS = JavaScript, ES = EcmaScript, JS este sursa standardului ECMA-262, TS = TypeScript, iar Angular si React se bazeaza pe TS.

Impresionat de Dart, am inceput sa explorez AngularDart fara sa banuiesc cat de vast este domeniul.

Dar, curios sa inteleg ce este Angular, am inceput sa studiez Agular1 (numit si AngularJS si creat in 2009), dar am renuntat si am facut ceva teste in Angular2 (acum se numeste Angular) - mai multe detalii in istoria angular dupa Michał Dziwoki.

Pentru prima data in peste 25 de experienta in programare am inteles ce inseamna abordarea profesionista in crearea unei aplicatii software si consider ca trebuie sa fi nebun sa faci asa ceva:

  • 1

    Creezi un proiect care face nimic, dar este plin de foldere si fisiere cu declaratii despre implementarea proiectului, de ce module depinde si cum sa fie testat. Operatia se executa cu un utilitar dedicat:

    In Angular:
    
    npm install -g @angular/cli
    ng new proiect-aplicatie-in-angular
    
    
    

    In React:
    
    npx create-react-app proiect-aplicatie-in-react --use-npm
    
    

    In AngularDart:
    
    pub global activate webdev
    pub global activate stagehand
    mkdir proiect-aplicatie-in-angular-dart
    cd proiect-aplicatie-in-angular-dart
    stagehand web-angular
    pub get
    
    
  • 2

    Aduci pachetele necesare aplicatiei tocmai create si pornesti serverul de web local pentru dezvoltarea aplicatiei:

    In Angular:
    
    ng serve –-open
    rem sau
    npm run start
    

    In React:
    
    npm run start
    
    

    In AngularDart:
    
    webdev serve –v web:8080
    
    
  • 3

    Cand aplicatia este aproape terminata, construiesti pachetul de instalare a aplicatiei, care reprezinta varianta compilata a aplicatiei:
    In Angular si React:
    
    npm run build
    
    

    In AngularDart:
    
    webdev build
    
    

Toate aceste operatii (actualizare pachete, compilare pachete, compilare/recompilare proiect) se vor executa in 15-45 minute (nu exagerez) pentru fiecare aplicatie nou creata in stadiul 1 si partial in 2 si 3 si vor umple directorul proiectului cu sute de mega de date (402 mb pentru Angular, 157 mb pentru React si 107 mb pentru AngularDart), dar aplicatia compilata va ocupa cel putin 14 mb pentru Angular, 510 kb pentru React si 285 kb pentru AngularDart.

Aplicatia finala (compilata) scrisa in AngularDart are numai 4 fisiere: favicon.png, index.html, main.dart.js si styles.css, dar, probabil la aplicatiile mai vechi, ca depinde si de continutul folderului packages (din folderul build), care are 20 mb.

Sunt multe avantaje si dezavantaje Angular vs React, se pare ca React este mai popular, dar mie imi place AngularDart si Dart, pentru ca asta invat acum.

Mai am multe de invatat, mai ales ca am gasit altceva mai tare decat JS si Angular: Phoenix Web Framework si impresionant este filmul lor demonstrativ si filmul de introducere.

(Cred ca trebuie sa reiau dezvoltarea pe Erlang si sa invat Elixir.)

18 mai 2020: am gasit un film care confirma nebunia node.js.

Angular si React functioneaza in node.js, iar AngularDart imprumuta mult din node.js.

Ryan Dahl este creatorul node.js si prezinta foarte clar neajunsurile sistemului:

In final este anuntat un nou sistem care probabil va inlocui node.js: Deno.

Deno este anagrama de la node.

7 iunie 2020: am uitat de Vue.js – se pare ca Vue.js este mai bun din toate punctele de vedere (simplitate, usurinta de invatare, rapiditate, marime cod) decat Angular sau React sau AngularDart. Mai intai trebuie instalat utilitarul de generare proiecte (npm install -g @vue/cli – au fost adaugate 1103 pachete de la 660 contribuitori in 416 secunde in plus fata de pachetele utilizate de Angular sau React), apoi se genereaza un proiect Vue.js (vue create nume-project - alte 1220 pachete de la 846 contribuitori au fost adaugate in folderul creat in 376 secunde si marime 98.7 mega) si se testeaza proiectul (npm run serve) sau se compileaza proiectul (585 kb are compilarea proiectului generat) pentru distributie si executie in alta locatie(npm run build).

Si se mai pare ca si Svelte concureaza cu greii.


Ultimele pagini: RSS

Alte adrese de Internet

Categorii

Istoric


Atentie: Continutul acestui server reprezinta ideile mele si acestea pot fi gresite.