Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pw:laboratoare:01 [2023/02/24 15:13]
ciprian.dobre [Sarcini de laborator]
pw:laboratoare:01 [2023/02/26 11:30] (current)
ciprian.dobre [Introducere in .NET si unelte de dezvoltare]
Line 3: Line 3:
 ===== Scopul laboratorului ===== ===== Scopul laboratorului =====
  
-Laboratorul de programare web isi propune sa invete studentii concepte fundamentale in acest domeniu si a fost gandit in asa fel incat sa se dobandeasca concepte ​usuale ​pentru dezvoltarea de aplicatii web. Sustinem pluralismul in folosirea de tehnologii dar sugeram ca in practica sa fie folosita acea tehnologie care este cea mai adecvata pentru proiectul in cauza.+Laboratorul de programare web isi propune sa invete studentii concepte fundamentale in acest domeniu si a fost gandit in asa fel incat sa se dobandeasca concepte ​uzuale ​pentru dezvoltarea de aplicatii web. Sustinem pluralismul in folosirea de tehnologii dar sugeram ca in practica sa fie folosita acea tehnologie care este cea mai adecvata pentru proiectul in cauza.
  
 Laboratorul se va axa pe doua tehnologii care se gasesc pe piata de dezvoltare a aplicatiilor web, **ASP.NET** si **React** pentru dezvolatea a backend-ului respectiv a frontend-ului. Prima jumatate a laboratorului se va axa pe dezvoltarea backend-ului in .NET. Laboratorul se va axa pe doua tehnologii care se gasesc pe piata de dezvoltare a aplicatiilor web, **ASP.NET** si **React** pentru dezvolatea a backend-ului respectiv a frontend-ului. Prima jumatate a laboratorului se va axa pe dezvoltarea backend-ului in .NET.
Line 9: Line 9:
 ===== Introducere in .NET si unelte de dezvoltare ===== ===== Introducere in .NET si unelte de dezvoltare =====
  
-.NET este o platforma de dezvoltare ​create ​de Microsoft initial pentru Windows dar care acum este cross-platform. Este una dintre platformele cele mai folosite pentru dezvoltare web pentru aplicatii enterprise, alta tehnologie foarte folosita este Java Spring. Avantajele de a folosi .NET sunt ca e cross-platform,​ usor de folosit, are o comunitate larga si are documentie buna. Principalul limbaj folosit pentru scrierea de aplicatii in .NET este C#, un limbaj orientat pe obiecte si functional similar cu Java.+.NET este o platforma de dezvoltare ​creata ​de Microsoft initial pentru Windows dar care acum este cross-platform. Este una dintre platformele cele mai folosite pentru dezvoltare web pentru aplicatii enterprise, alta tehnologie foarte folosita este Java Spring. Avantajele de a folosi .NET sunt ca e cross-platform,​ usor de folosit, are o comunitate larga si are documentie buna. Principalul limbaj folosit pentru scrierea de aplicatii in .NET este C#, un limbaj orientat pe obiecte si functional similar cu Java.
  
 Veti avea nevoie de urmatoarele inainte de a incepe dezvoltarea efectiva: Veti avea nevoie de urmatoarele inainte de a incepe dezvoltarea efectiva:
Line 15: Line 15:
      * Pentru Windows recomandam Visual Studio 2022 Community gasit [[https://​visualstudio.microsoft.com/​vs/​|aici]] sau puteti accesa prin [[https://​my.upb.ro/​|MyUPB]] varianta Professional sau Enterprise de [[https://​azureforeducation.microsoft.com/​devtools|aici]]      * Pentru Windows recomandam Visual Studio 2022 Community gasit [[https://​visualstudio.microsoft.com/​vs/​|aici]] sau puteti accesa prin [[https://​my.upb.ro/​|MyUPB]] varianta Professional sau Enterprise de [[https://​azureforeducation.microsoft.com/​devtools|aici]]
      * Pentru Linux/​MacOSX sau daca vreti o alternativa puteti folosi platforma [[https://​www.jetbrains.com/​dotnet/​|DotUltimate]] cu [[https://​www.jetbrains.com/​rider/​|Rider]] ca IDE, puteti cere licenta academica pentru toata suita de la Jetbrains cu emailul institutional. Este posibil sa fie nevoie sa instalati SDK-ul pentru .NET 6 de [[https://​dotnet.microsoft.com/​en-us/​download/​visual-studio-sdks|aici]].      * Pentru Linux/​MacOSX sau daca vreti o alternativa puteti folosi platforma [[https://​www.jetbrains.com/​dotnet/​|DotUltimate]] cu [[https://​www.jetbrains.com/​rider/​|Rider]] ca IDE, puteti cere licenta academica pentru toata suita de la Jetbrains cu emailul institutional. Este posibil sa fie nevoie sa instalati SDK-ul pentru .NET 6 de [[https://​dotnet.microsoft.com/​en-us/​download/​visual-studio-sdks|aici]].
-     * Bonus: puteti folosi Visual Studio cu ReSharper de la Jetbrains pentru o experienta mai buna cu IDE-ul.+     * Bonus: puteti folosi Visual Studio cu ReSharper de la Jetbrains pentru o experienta mai buna cu IDE-ul ​dar trebuie sa aveti cel putin 16GB RAM.
   - Baza de date PostgreSQL   - Baza de date PostgreSQL
      * O varianta este sa instalati [[https://​www.postgresql.org/​|PostreSQL]] pe masina locala, varianta pe care nu o recomandam.      * O varianta este sa instalati [[https://​www.postgresql.org/​|PostreSQL]] pe masina locala, varianta pe care nu o recomandam.
Line 23: Line 23:
      * Daca doriti un client universal puteti opta pentru [[https://​dbeaver.io/​download/​|DBeaver]].      * Daca doriti un client universal puteti opta pentru [[https://​dbeaver.io/​download/​|DBeaver]].
  
-Pentru programarea efectiva in C# sunt necesare doar cunostinte de baza de programare orientate pe obiecte si programare functionala. Pentru cine stie deja Java adaptarea la C# nu ar trebui sa fie o problema, unde vor fi diferente majore ​o sa explicate ​in laborator.+Pentru programarea efectiva in C# sunt necesare doar cunostinte de baza de programare orientate pe obiecte si programare functionala. Pentru cine stie deja Java adaptarea la C# nu ar trebui sa fie o problema, unde vor fi diferente majore ​vor fi explicate ​la laborator.
  
 Exista particularitati in scrierea de cod C#, daca aveti probleme in a intelege scheletul de laborator puteti consulata documentatia de la [[https://​learn.microsoft.com/​en-us/​dotnet/​csharp/​|Microsoft]] si cartea electronica a lor pentru dezvoltarea de aplicatii web de [[https://​dotnet.microsoft.com/​en-us/​download/​e-book/​microservices-architecture/​pdf|aici]],​ chiar daca sunt expuse idei in implementarea arhitecturilor pe microservicii principiile de design patterns si best practice sunt folositoare si pentru dezvoltarea de aplicatii backend monolit. Exista particularitati in scrierea de cod C#, daca aveti probleme in a intelege scheletul de laborator puteti consulata documentatia de la [[https://​learn.microsoft.com/​en-us/​dotnet/​csharp/​|Microsoft]] si cartea electronica a lor pentru dezvoltarea de aplicatii web de [[https://​dotnet.microsoft.com/​en-us/​download/​e-book/​microservices-architecture/​pdf|aici]],​ chiar daca sunt expuse idei in implementarea arhitecturilor pe microservicii principiile de design patterns si best practice sunt folositoare si pentru dezvoltarea de aplicatii backend monolit.
Line 55: Line 55:
 {{:​pw:​laboratoare:​firstproject2.png?​700|}} {{:​pw:​laboratoare:​firstproject2.png?​700|}}
  
-Rulati aplicatia de backend, o sa va deschisa ​o pagina in browser cu un **Swagger**,​ sau cum se mai nume si **OpenAPI Specification**. Swagger-ul este o interfata simpla pentru testarea cererilor HTTP fara sa fie nevoie ​de de un client HTTP si, de asemenea, acesta va descrie intregul API HTTP al serverului cu toate rutele si tipurile de date schimbate cu clientul. Incercati sa executati o cerere catre backend din pagina Swagger-ului. Swagger-ul este important pentru ca va usureaza testarea backend-ului si pentru ca descriind cum API-ul poate fi folosit ca sa generati in mod automat clientii HTTP pentru aplicatiile care consuma API-ul expus.+Rulati aplicatia de backend, o sa va deschida ​o pagina in browser cu un **Swagger**,​ sau cum se mai numeste altfel, ​**OpenAPI Specification**. Swagger-ul este o interfata simpla pentru testarea cererilor HTTP fara sa fie nevoie de un client HTTP si, de asemenea, acesta va descrie intregul API HTTP al serverului cu toate rutele si tipurile de date schimbate cu clientul. Incercati sa executati o cerere catre backend din pagina Swagger-ului. Swagger-ul este important pentru ca va usureaza testarea backend-ului si pentru ca descriind cum API-ul poate fi folosit ca sa generati in mod automat clientii HTTP pentru aplicatiile care consuma API-ul expus.
  
 {{:​pw:​laboratoare:​swagger.png?​700|}} {{:​pw:​laboratoare:​swagger.png?​700|}}
Line 70: Line 70:
  
 ===== Resurse utile ===== ===== Resurse utile =====
 +  * [[https://​gitlab.com/​mobylabwebprogramming| Gitlab-ul nostru]]
   * [[https://​visualstudio.microsoft.com/​vs/​|Visual studio 2022 Community]]   * [[https://​visualstudio.microsoft.com/​vs/​|Visual studio 2022 Community]]
-  * [[https://​azureforeducation.microsoft.com/​devtools|Visual studio 2022 Enterprise]]+  * [[https://​azureforeducation.microsoft.com/​devtools|Visual studio 2022 Enterprise ​pentru studenti]] 
 +  * [[https://​my.upb.ro/​|MyUPB]]
   * [[https://​www.jetbrains.com/​dotnet/​|DotUltimate]]   * [[https://​www.jetbrains.com/​dotnet/​|DotUltimate]]
   * [[https://​www.jetbrains.com/​rider/​|Rider]]   * [[https://​www.jetbrains.com/​rider/​|Rider]]
Line 80: Line 82:
   * [[https://​dbeaver.io/​download/​|DBeaver]]   * [[https://​dbeaver.io/​download/​|DBeaver]]
   * [[https://​learn.microsoft.com/​en-us/​dotnet/​csharp/​|Documentatie C#]]   * [[https://​learn.microsoft.com/​en-us/​dotnet/​csharp/​|Documentatie C#]]
-  * [[https://​dotnet.microsoft.com/​en-us/​download/​e-book/​microservices-architecture/​pdf|aici]]+  * [[https://​dotnet.microsoft.com/​en-us/​download/​e-book/​microservices-architecture/​pdf|Carte Microservices architecture]]
  
  
  
  
pw/laboratoare/01.1677244395.txt.gz · Last modified: 2023/02/24 15:13 by ciprian.dobre
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0