Showing posts with label projekat. Show all posts
Showing posts with label projekat. 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

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?

Saturday, February 18, 2023

Pokrenite svoje putovanje veb razvoja, uvod u Laravel radni okvir

Ukoliko učite PHP programski jezik, čiji tutorijal možete pogledati ovde; možete se pitati šta je to Laravel i zašto bi ste i to učili. Zar PHP programski jezik nije dovoljan da iskodirate kakav god hoćete veb sajt, pa ukoliko je neophodno ako zatreba možete ubaciti i JavaScript i Ajax. Pa, vidite ovako; Laravel je open-source framework; na Srpskom jeziku radni okvir; za PHP programski jezik. On vam pomaže tako što preuzima odgovornost umesto vas za veliki deo poslovne logike vaših aplikacija, za mnoge uobičajene komponente kao što su validacija unosa, pristup bazi podataka, autentifikacija korisnika, izrada šablona itd. Danas programeri koriste mnogobrojne radne okvire za razvoj aplikacija, veb sajtova, biblioteke i komponente koje su drugi programeri iskodirali i testirali da vi to ne morate isto kodirati. Radni okviri održavaju konzistentnost i fleksibilnost i dok vi razmišljate, gde i kako nešto iskodirati u PHP programskom jeziku u vašem projektu koji postaje sve veći i kompleksniji; radni okvir razmatra samo: "Koju komponentu treba da koristim ovde?" Ako se pitate zašto baš Laravel; onda je moj odgovor zato što je trenutno jedan od najboljih za PHP developere. Ako se vratimo u prošlost; jedan od prvih radnih okvira je bio 2004 godine Ruby on Rails. Brzo je postao popularan jer je takođe popularizovao MVC, konvenciju nad konfiguracijom i mnoge alatke koje su doprinosile programerima brz razvoj aplikacija. Zatim se pojavio CakePHP 2005 godine i onda se razvoj nastavio u vidu CodeIgniter, Simfony, Kohana, Zend Framework itd. Još, 2010 godine CodeIgniter je postao veoma popularan radni okvir za PHP programere ali je kasnije počeo da zaostaje u tehnološkom razvoju i postao je previše spor. Zato je u junu 2011 godine, Taylor Otwella ponudio svoj radni okvir; napredniju alternativu CodeIgniter-a koju danas zovemo Laravel 


( Laravel je trenutno jedan od najboljih radni okvira za PHP programere )

Laravel 1 je doneo autentifikaciju, lokalizaciju, modele, views, sesije i rutiranje. Sve je iskodirano od nule. Laravel 2 je bio zaslužan za kontrolore, IoC i Blade. Laravel 3 je doneo Artisan i Bundles. Laravel 4 je otišao još dalje sa distribucijom paketa preko Composer radnog okvira. Zato se i kaže da je Laravel baziran na PHP programskom jeziku ali i na drugom radnom okviru Composer-u. Laravel 4 je još 2013 godine doneo još mnogo divnih stvari koje PHP programerima olakšavaju posao poput database seeding, automatsko upravljanje sa konekcijama baza podataka, 2014-te upravljanje PHP Cloud serverima, Vargrant okruženje, upravljanje pretplatama itd. Laravel 5 je još 2015 godine doneo novu strukturu direktorijuma i keširanje ruta itd. Od prekjuče; tačnije 16 februara 2023 godineLaravel je izbacio 10.2 stabilnu verziju koji zahteva minimum PHP 8.1 verziju. Svake godine se u prvih 6 meseci u SAD-u održava konferencija Laracon dok se ista održava u Evropi; tačnije Amsterdam-u u drugoj polovini godine; gde možete uvek saznati skoro sve o razvoju Laravel radnog okvira. E sad se možete pitati, ako je Laravel toliko dobar radni okvir zašto ga svi ne koriste? Mislim da postoje više razloga. Promene se često dešavaju u različitim verzijama, komponentama, kodu i postoje neke knjige i odlična dokumentacija o Laravel-u ali ponekad je komplikovano sve to uklopiti i ispratiti. Ukoliko koristite Share Hosting kod nekog provajdera; možda on jednostavno neće raditi. Druga stvar je ako vi zakupite vaš server. Tad možete da kontrolišete i da instalirate svašta na vaš hosting. Možete kompletan projekat da održavate i menjate kad se nešto promeni. Ali to zahteva mnogo više učenja i strašno je kad nad nekom komponentom nemate kontrolu. Zbog toga neki stariji iskusniji PHP programeri se drže čistog PHP  programskog jezika bez bilo čega što to može narušiti. Sve u svemu, što se mene tiče u svemu trebate biti fleksibilni; potrebno vam je vreme i mnoge greške da bi ste bili iskusniji u PHP  kodiranju ali jednostavno nema odustajanja. Uvek napredujete i učite. Još pre par meseci nije bilo šanse da instaliram Laravel na noviju verziju Linux distribucije Ubuntu-a zbog grešaka koje nisam razumeo dok je to danas druga priča.

Kako da instaliram Laravel?