Showing posts with label okvir. Show all posts
Showing posts with label okvir. Show all posts

Sunday, November 12, 2023

Od haosa do jasnoće, objašnjenje strukture Laravel projekta

Laravel je popularni PHP radni okvir za razvoj veb aplikacija koji se ističe svojom elegantnom sintaksom, obiljem alatki i moćnim funkcijama. Pre nego što pređete na studiranje ovog posta; obavezno prvo pogledajte uvod i instalaciju Laravel radnog okvira; pogledajte ovde; zatim se upoznajte na čemu se temelji Laravel radni okvir; pogledajte ovde; pa tek onda se vratite na ovaj post da se upoznate i sa strukturom foldera i datoteka. Tako da i pre neko što praktično počnete da koristite Laravel radni okvir; otklonite zbunjenost, neznanje i nejasnoće. Sve što vam nije jasno i pre kodiranja neophodno je da razjasnite sami sebi. Svaki profesionalan programer, svaki svoj projekat započinje pravim pitanjima. Tako ponašanje će vam u svakom slučaju uštedeti mnogo izazova i vremena. Kada kreirate novi Laravel projekat, radni okvir automatski generiše osnovnu strukturu direktorijuma i datoteka koja vam pomaže da organizujete i razvijate svoju veb aplikaciju na efikasan način. U ovom tekstu ćemo istražiti osnovnu strukturu Laravel projekta, razmatrajući glavne direktorijume i datoteke sa kojima ćete se sresti kad god započinjete novi projekat u ovom efikasno organizovanom Laravel  radnom okviru. U zavisnosti od verzije Laravel  radnog okvira; Laravel vam pruža jasnu i dobro organizovanu strukturu projekta koja olakšava razvoj i održavanje veb aplikacija. Razumevanje svih ovih direktorijuma i datoteka je ključno za efikasan razvoj u Laravel radnom okviru. Kroz ovu osnovnu strukturu, možete lako organizovati svoj kôd i razvijati visokokvalitetne veb aplikacije. Zato ćemo prvo pogledati foldere koje su se kreirali kada smo započeli novi Laravel projekat.


( Razumevanje strukture Laravel projekta je od ključnog značaja za razvoj projekta )

Pokrenite vaš terminal, izvršite update i upgrade vašeg Linux operativnog sistema, zatim sa vašeg home direktorijuma skočite na /opt/lampp/ i pokrenite XAMPP menadžer; sledećom Linux  komandom.
 
sudo ./manager-linux-x64.run

Otvoriće vam se XAMPP menadžer; i kroz njega pokrenute Apache Web Server i MySQL Database. Ovo ćete da uvek radite kada kreirate ili otvarate već gotov Laravel projekat. Zatim pokrenite Visual Studio Code i u njemu otvorite folder laravel_tutorial koji ćete pronaći u direktorijumu /opt/lampp/htdocs/ i otkucajte sledeću Linux komandu u Terminal panelu Visual Studio Code-a :

php artisan serve

Na Terminal panelu će vam se prikazati:

 INFO  Server running on [http://127.0.0.1:8000]   

Press Ctrl+C to stop the server

Sad proverite u pretraživaču da li je vaš projekat pokrenut na lokalnom serveru i portu 8000. Ukoliko je sve u redu, vratite se sa pretraživača na Visual Studio Code; i sa vaše leve strane koncentrišite se na Explorer panel. Dobro pogledajte da li vaš Laravel projekat sadrži sledeće osnovne foldere: 

app

bootstrap

config

database

public

resources

routes

storage

tests

vendor

Starije verzije Laravel radnog okvira, uglavnom sadrže iste foldere, osim folder database. Ukoliko pogledate neki Laravel  projekat na GIT hubu; onda verovatno nećete videti ni folder vendor jer ga GIT sa razlogom ignoriše; jer očekuje da se na udaljenim serverima izvršava Composer radni okvir kao deo procesa implementacije. Sve u svemu pogledajte čemu služe osnovni folderi koji čine Laravel projekat.

Osnovni folderi u Laravel projektu

Thursday, November 09, 2023

Temelji Laravel razvoja, sve što trebate znati o MVC, HTTP glagolima i REST-u

U prethodnom postu, pogledajte ovde; smo se maksimalno posvetili da razumete zašto Laravel framework - radni okvir služi, koliko je koristan i onda smo svu pažnju usmerili na instalaciju istog zbog kompleksnosti i prethodnih instalacija koje ovaj radni okvir zahteva. Pre nego što počnemo uopšte da koristimo Laravel neophodno je da vas bar delimično upoznamo sa osnovama ili temeljom na kom je baziran Laravel radni okvir. Ali prvo da vidimo na kom principu radi Laravel radni okvir. Pojavom AI – veštačke inteligencije, došlo je do pometnje u svetu programera, gubljenje poslova i to je definitivno dovelo do toga da mnogi programeri shvate da biti stručnjak za jedan programski jezik ili jedan framework – radni okvir; više nije dovoljno. Zato se danas i pored korišćenja AI – veštačke inteligencije neke stvari rade brže i lakše; masovno uče i drugi programski jezici i radni okvirovi. Tako da nije slučajnost na primer da neko ko poznaje Angular radni okvir traži neke stvari koje ovaj radni okvir sadrži u Laravel radnom okviru i obratno. Međutim, tih stvari nema jer je Laravel frontend framework koji je baziran na TypeScript-u i radi na strani klijenta dok Laravel je backend framework koji je baziran na Symfony; takođe radnom okviru baziranom na backend i radi na strani servera kao i što koristi PHP programski jezik. Znači da ponovimo, Laravel framework – radni okvir je backend i radi na strani servera. On može da radi neke stvari koji mogu takođe da rade neki radni okvirovi ali koji rade na strani servera, može da ne radi druge stvari ili može da radi neke stvari ali na drugačiji način. Laravel radni okvir je pre svega najpopularniji radni okvir među PHP programerima i to pre svega zbog mogućnsti koje može da odradi i zbog toga na koji način i šta sve sadrži ovaj radni okvir.


( Laravel web framework - radni okvir, najpopularniji među PHP programerima )

Laravel je poznat po svojoj elegantnoj i čitljivoj sintaksi koja olakšava razvoj veb aplikacija. Ima mnoge ugrađene alate i funkcionalnosti koje programerima štede vreme i trud. Laravel dolazi sa Eloquent ORM-om, koji omogućava jednostavno i efikasno upravljanje bazama podataka. Ovo olakšava rad s bazama podataka i ubrzava razvoj. Laravel radni okvir dolazi s brojnim ugrađenim mehanizmima sigurnosti kao što su zaštita od CSRF napada, kontrola sesija i autentikacija. To olakšava programerima održavanje sigurnih aplikacija. On takođe ima moćan alat za upravljanje aplikacijama koji se zove Artisan. Pomoću njega možete brzo generisati kod, izvoditi migracije, testirati aplikacije i još mnogo toga. Laravel podržava modularni pristup razvoju, što znači da možete koristiti komponente i pakete razvijene od strane zajednice ili napraviti svoje, kako biste ubrzali razvoj aplikacija. On se lako integriše s drugim popularnim alatima i servisima, kao što su Redis, Memcached, Elasticsearch i drugi. On takođe prati najnovije trendove u razvoju veb aplikacija, uključujući podršku za RESTful API-je, WebSocket-e i druge moderne tehnologije. Laravel  je pristupačan i moćan radni okvir koji je pogodan kako za manje projekte tako i za kompleksne aplikacije, što ga čini jednim od najpopularnijih radnih okvira u PHP ekosistemu. Može da radi i na drugim operativnim sistemima ali Linux operativni sistem je njegovo prirodno okruženje. Imajte to u vidu kada imate mogućnost da birate OS na kom ćete raditi sa Laravel radnim okvirom.

Šta je MVC i zašto se koristi u Laravel-u?

Tuesday, April 18, 2023

Unapredite svoj razvoj Java aplikacija sa Spring radnim okvirom

Kada tek počnete da učite Java programiranje, obično kodirate manje programe kako biste se upoznali sa osnovnim konceptima i pravilima Java programskog jezika. Kada steknete malo više iskustva, počinjete da razvijate sopstvene projekte, ali shvatite da ima još mnogo toga što treba da naučite o Java programskom jeziku. Za razliku od drugih programskih jezika, Java je vrlo kompleksan programski jezik i koristi se za razvijanje velikih projekata, što može biti zbunjujuće i za najiskusnije programere. Java programski jezik nudi mnogo mogućnosti, ali kodiranje u ovom jeziku može zahtevati veliki broj linija koda i često dovodi do grešaka. Osim toga, proces testiranja i uključivanja drugih elemenata u projekat može biti vrlo spor i zahtevan. Ako niste upoznati sa radnim okvirima za Java programski jezik, može biti teško da se nosite sa svim ovim izazovima. Stoga, preporučuje se da čak i početnici u Java programiranju uče i koriste radne okvire koji olakšavaju razvoj projekata. Radni okviri za Java programski jezik; kao što su Spring, Hibernate i Apache Struts 1 nude mnoge funkcije koje olakšavaju razvoj veb aplikacija i mikroservisa, omogućavajući programerima da brzo razvijaju i skaliraju svoje projekte. Korišćenje radnih okvira takođe može pomoći u smanjenju količine koda koji je potrebno napisati i smanjiti broj grešaka u projektu, pre svega zbog bolje optimizacije i organizacije svih poslovnih i drugih procesa koji proističu iz vašeg projekta.


( Spring radni okvir, jedan od najpopularnijih Java radni okvira )

Pogledajmo koji se to najčešći frameworks – radni okviri koriste u Java projektima.

  • Spring – jedan od najpopularnijih Java radni okvira, koji se koristi za izgradnju veb aplikacija, mikroservisa i drugih aplikacija. Nudi mnoge korisne funkcionalnosti poput sigurnosni, obrada transakcija, kontrole pristupa i druge.
  • Hibernate – popularan radni okvir za rad sa bazama podataka, koji omogućava programerima da lako izvršavaju CRUD operacije, kao i upite i pretrage u bazama podataka.
  • Apache Struts 1 – je stariji radni okvir otvorenog koda za izgradnju veb aplikacija koji pruža odličnu podršku za MVC arhitekturu.
  • Apache Struts 2 – je noviji radni okvir otvorenog koda za izgradnju veb aplikacija koji pruža odličnu podršku za MVC arhitekturu ali i podršku za AJAX.
  • Play Framework – je moderni veb radni okvir koji se koristi za izgradnju brzih i skalabilnih veb aplikacija.
  • JSF – JavaServer Faces – je radni okvir za izgradnju veb aplikacija koji se oslanja na komponente, dok omogućava programerima da brzo i lako izgrađuju korisnički interfejse.
  • JavaFX – je radni okvir za izgradnju desktop aplikacija koji omogućava programerima da brzo i lako izgrade interaktivne aplikacije sa bogatim grafičkim interfejsom.
  • Apache Wicket – je radni okvir koji se koristi za izgradnju veb aplikacija i koji se oslanja na komponente i omogućava programerima da brzo i lako izgrade kompleksne aplikacije.
  • Dropwizard – je radni okvir koji se koristi za izgradnju mikroservisa.
  • Itd.
Postoji još i drugih radnih okvira za Java programski jezik koji se koriste u različitim aplikacijama i projektima, dok izbor radnog okvira isključivo zavisi od specifičnih zahteva projekta i preferencija programera. Imajte samo u vidu da vi možete da koristite više radni okvira u istom projektu, kad to ima smisla ili bolje rečeno kad su radni okviri kompatabilni kao npr. Spring Hibernate. Mi ćemo se u ovom tutorijalu baviti Spring radnim okvirom i mogućnostima koje on pruža.

Spring radni okvir

Thursday, March 23, 2023

Kako započeti razvoj veb aplikacija sa Django?

Django je framework – radni okvir koji se smatra jednim od najboljih radnih okvira za razvoj veb aplikacija. Napisan je u Python programskom jeziku i zato ne treba da vas čudi zašto je on najčešći izbor Python programera i zašto treba da poznajete Python programski jezik da bi ste koristili Django. Nastao je još u junu 2005 godine, otvorenog je koda i besplatan. Ono što je njegova prednost jeste što on nudi kompletno rešenje za izradu veb aplikacija od početka do kraja; nudi razne funkcije za upravljanje bazama podataka, veb stranicama i URL rutiranjem. On jednostavno ima mnoge ugrađene funkcionalnosti koje omogućavaju programerima da brzo razviju i testiraju veb projekat. Dizajniran je za skalabilne aplikacije i ima mogućnost rada s velikim brojem zahteva. To jednostavno znači da imate mogućnost širenja i razvijanja vašeg projekta, a da pri tome projekat zadrži sva njegova osnovna svojstva i funkcije. Vremenom i dodatnim procesima vaš mali projekat postaje sve veći i opet odlično funkcioniše. Django i jeste nastao iz potrebe za komplikovanim veb projektima. Ali ako mene lično pitate zašto sam u mnogim rešenjima već koristio Django, onda je glavni razlog zbog rada sa bazama podataka. Sa Django-m vi jednostavno ne morate da koristite SQL - Structured Query Language – strukturirani jezik upita. To ne znači da ne trebate da učite SQL. On jednostavno odrađuje stvari za vas, dok recimo u Laravel radnom okviru vi bukvalno kucate SQL komande u modulima. Django uključuje ORM - Object-Relational Mapping -  sistem za upravljanje bazama podataka. To omogućava programerima da rade s bazom podataka koristeći objekte Python programskog jezika umjesto SQL koda.


( Django je baziran na MVT - Model-View-Template arhitekturi )

E sad se možete pitati pa koja je razlika između Django-a i Laravel-a, i zašto većina veb sajtova koristi Laravel nego Django? Prvo zbog programskog jezika; Laravel radni okvir je razvijen u programskom jeziku PHP, dok je Django razvijen u programskom jeziku Python. Laravel je lako instalirati i hostovati na većini veb servera, dok Django zahteva specifične postavke servera kako bi se pravilno izvršavao. Isto tako mislim da se sa Django-m više koriste PostgreSQL baze podataka dok korisnici Laravel preferiraju MySQL baze podataka. To jeste vaš izbor ali ponekad je to izbor vašeg hosting provajdera. Što se tiče strukture Laravel radni okvir ima MVC - Model-View-Controller arhitekturu, dok Django radni okvir ima MVT - Model-View-Template arhitekturu koja razdvaja logiku aplikacije, vizualni prikaz i podatke. Oba pristupa su slični i imaju svoje prednosti i mane. Inače, tačno je da je Laravel radni okvir jednostavniji za upotrebu i brži za razvoj manjih projekata, dok Django nudi više funkcija i bolju skalabilnost za velike projekte. Zato vaš izbor uglavnom zavisi o vrsti projekta i razini vašeg znanja u programiranju. Oba radna okvira su dobra za razvoj modernih veb aplikacija, ali jedan može biti bolji izbor u odnosu na drugi, ovisno o specifičnostima projekta. Ono što bi još izdvojio kad je u pitanju izbor Django radnog okvira jeste njegov čuveni Admin panel. On ima ugrađeni Admin panel koji omogućuje jednostavno upravljanje aplikacijom, kao što su upravljanje korisnicima i unosom podataka; tako da neke podatke možete videti i pre nego što odradite HTML5 stranice koje će prikazivati iste. Isto tako ako dajete veliki značaj sigurnosti podataka, onda treba da znate da Django pruža niz sigurnosnih karakteristika, uključujući zaštitu od XSS – Cross Site Scripting i SQL Injection napada.

Kako da počnem sa Django projektom?