Kada želite naučiti programirati, imate milijun pitanja u glavi. Pitanje je koji jezik odabrati, želite li raditi backend ili frontend, što je backend, odnosno frontend, želite li raditi jednostavne web stranice, mobilne aplikacije … Morate se odlučiti što vam je najzanimljivije i s čime želite nastaviti.

Naravno, u početku je to teško odlučiti, pa je najbolje pokušati raditi sve od navedenog. Probajte napraviti igru u Javi, Android aplikaciju u Kotlinu, jednostavnu web stranicu s JavaScriptom, HTML-om i CSS-om, te možda neku “web scraper” skriptu s Pythonom. Zato ćemo mi u ovom tekstu proći 10-ak projekata koje možete probati napraviti, naučiti nešto i dobiti ćete jasniju sliku želite li uopće programirati i s kojim segmentom programiranja se želite baviti.

Odmah ćemo reći jednu stvar – početak je težak. Dok ne “pohvatate” određene stvari, sve će vam biti teško. No, jednom kada prođete taj početak, stvari budu zanimljivije i lakše. Također, ne postoji “najbolji programski jezik”. Svaki jezik je dobar za određene stvari. Danas su izuzetno popularni jezici Java, Scala, Kotlin, Swift, Python, Ruby … ali isto tako ima potrebe i za Cobol developerima. Ako vas zanima programiranje – probajte svašta. A onda se odlučite što želite “specijalizirati”. Zato krenimo na posao.

1) Napravite svoj šah

Šah je igra koju mnogi od nas znaju igrati. Možda nismo najbolji šahisti, ali znamo pravila, znamo kako se igra i ponekad odigramo partiju s obitelji ili prijateljima. Zašto onda ne biste to pretvorili u svoju aplikaciju. Možete napraviti svoje sučelje, svoju logiku i naučiti puno toga putem.

Vjerojatno ćete početi s iscrtavanjem šahovskog polja i slaganjem figurica na isto. Tada ćete razmisliti kako svakoj pojedinoj figuri dati određene metode, odnosno način kretanja po ploči. To će vas prisiliti da razmišljate kao šahist, ali i kao programer. U svakom slučaju, ovo nije projekt koji ćete napraviti za tjedan dana. Možda za mjesec, možda i za više. Ali definitivno super način za početi. Na Internetu ima Java tečajeva koji će vam pomoći da napravite svoju verziju šaha.

2) Napravite svoju mobilnu aplikaciju

Kod mobilnih aplikacija je važno da imaju jednostavno i intuitivno sučelje. Odnosno da sučelje bude “mobile-device friendly”. Pitanje je samo želite li pokušati napraviti aplikaciju za Android ili iPhone. Ako nemate Mac, onda ćete morati raditi Android aplikaciju. Dovoljno vam je da skinete Android Studio, instalirate JVM i spremni ste. Ako imate Mac, skinite Xcode i to je to.
Ako želite napraviti hibridnu aplikaciju koju ćete moći pokretati na Androidu i iPhoneu, to možete napraviti uz pomoć .NET-a, Fluttera ili JS/HTML/CSS-a.

Sve u svemu imate jako puno opcija za probati. Video koji se nalazi gore će vam pokazati kako napraviti lijepo sučelje, ali ne i logiku iza toga. Ako vas zanima dizajn i UI/UX, ovo bi vam moglo biti zanimljivo. Samo nemojte kopirati liniju po liniju, nego i sami eksperimentirajte i vidite što možete napraviti.

Ne moramo ni napominjati da je na tržištu ogromna potražnja za mobilnim developerima.

3) Napravite svoj kalkulator

Mnogi početnici u programiranju odabiru izradu kalkulatora kao svoj prvi projekt. To će vam dati mogućnost da napravite jednostavni layout kalkulatora, da naučite kako “čitati” brojeve koje korisnik unosi, kako da procesuirate te brojeve (odradite logiku) i slično.

Ovo je jednostavan, a izazovan projekt u kojim ćete svašta naučiti. Mi bismo preporučili korištenje “običnog” JavaScripta s HTML-om i CSS-om za ovaj projekt, ali možete koristiti i neke druge tehnologije.

4) Napravite svoju To-Do aplikaciju

Izgradnja “to-do list” aplikacije je još jedan zanimljiv i odličan projekt za testiranje vaših programerskih vještina. Ono uključuje korištenje svih elemenata koji vam trebaju za projekt: kreiranje UI-ja, gumbi, animacija, evenata kojima će korisnik imati interakciju s aplikacijom itd.

Ovaj video će vam pokazati kako da napravite ovu aplikaciju s JS-om, HTML-om i CSS-om. Kada ju napravite, nemojte stati, nego nastavite sami “eksperimentirati”. Dodajte nove mogućnosti, izmijenite neke segmente, naučite nešto novo. A možete i pokušati napraviti isto s nekim od popularnih JS frameworka kao što su Angular, React ili Vue. A I dobro će doći ovakva aplikacija za vaš portfolio kada budete tražili posao.

5) Napravite jednostavni konverter težina

Jedan od projekata koji smo i mi neki jednom davno radili je – jednostavni konverter težine. Ovo je jako slično maloprije spomenutoj “to-do” aplikaciji jer imate UI, logiku, unos podataka, obradu istih, prikaz rezultata i slično. Imajte samo na umu da kad radite ovakva projekt, poželjno je da sami dodate dodatne funkcionalnosti, napravite drugačiji UI, probate napraviti sličan projekt u nekoj drugoj tehnologiji … To će vam proširiti vidike, dati neke nove vještine i vidjet ćete kako istu stvar napraviti na više načina.

Ovaj gore projekt integrira i Bootstrap u vaš projekt, što je uvijek korisno za znati.

6) Napravite Rock/Paper/Scissors igru

Rock, paper, scissors – je popularna igra koja se, kao i mnoge druge, mogu pretvoriti u programerski izazov. Ona zahtjeva da korisnik unese određenu vrijednost, ali isto tako da se izgenerira i “random element” (protivnikov odabir). Tako da ćete kreirati i sučelje, odnosno onaj dio s kojim korisnik ima interakciju, ali i logiku koja upravlja igrom.

Naravno, ovu igru možete napraviti i bez grafičkog sučelja. Možete preko konzole napraviti da korisnik unese jednu od ove tri vrijednosti, nasumično odabrati jednu od te tri vrijednosti za protivnika i ispisati korisniku da li je pobijedio ili izgubio. No, nakon toga možete napraviti i sučelje, a samo nebo je granica.

7) Napravite svoju “križić/kružić” igricu

Tic Tac Toe ili po hrvatski – križić/kružić – je igra koju sva djeca znaju igrati i koja ima jednostavna pravila. No, napraviti ovu igru je izazovnije nego što na prvu izgleda. Ono što vi morate napraviti je grafičko sučelje, odnosno polje za igranje, no tu postaje zanimljivo. Logika iza toga nije baš jednostavna. Zato mislimo da je ovo korisno za probati napraviti jer će vas “tjerati” da razmišljate van okvira.

Čak je i Bill Gates ovu igru sam isprogramirao dok je još bio u srednjoj školi. Odnosno to mu je bio jedan od “prvih projekata”. Dovoljna motivacija da ju i sami probate napraviti?

8) Napravite svoj Web Scraper s Pythonom

Python je odličan jezik jer s njim možete gotovo sve. Možete pisati skripte, raditi web aplikacije (op.a. Dropbox je napisan u Pythonu), ali i napraviti svoj Web Scraper. Ako ćete probati koristiti ovaj jezik, onda svakako preporučujemo i korištenje Python libraryja – Beautiful Soup. S njim možete extractati podatke iz HTML-a i XML-a.

Ovaj primjer gore u videu exporta podatke u CSV datoteku koju možete otvoriti u Excelu, te s njom kreirati, na primjer, grafove ili nešto slično tome. Naravno, Python može mnogo više od ovoga. Recimo s njim možete napraviti i svog Twitter/Instagram/Reddit bota ako želite.

Također, trebat ćete skinuti Python distribuciju Anaconda da biste napravili ovaj projekt. To je veliki library koji u sebi ima razne alate koji koriste Python. No, morat ćete “zaprljati ruke”, pročitati dokumentaciju i poigrati se s time. No, sve što naučite, moglo bi vam dobro doći.

9) Napravite grafički lijepu web stranicu s HTML5

Malo projekata će vas naučiti u potpunosti iskoristiti HTML i CSS za izradu web stranice. No, ako želite napraviti jednostavnu web stranicu koja lijepo izgleda, ima određene linkove i slike, ne treba vam mnogo više od toga. Zato definitivno preporučujemo pogledati ovaj video. Naravno, ako tome dodate i JS, možete napraviti i hrpu logike u pozadini. To je odličan prvi korak ako želite postati web developer.

Što se same kompleksnosti web stranice tiče, ona će vjerojatno rasti kako budete učili nove stvari. Zato se nemojte bojati eksperimentirati i dodati nešto svoje.

10) Napravite jednostavan JavaScript Slideshow

I za kraj, ostaje nam još projekt izrade Slideshowa koristeći JavaScript. To je jednostavan, a zabavan projekt u kojem nema previše posla. Ovaj projekt je ipak dobro napraviti jer će vas naučiti kako mijenjati DOM, odnosno Document Object Model u web pregledniku i kako napraviti web stranicu dinamičnom.

Nadalje, ovaj projekt je koristan jer je ovo nešto što se konstantno koristi. Praktički na svakoj web stranici ćete naći nekakav Slideshow. Mnogi programeri koriste gotova rješenja, no i ta rješenja je netko morao jednom napisati. Pa zašto vi ne biste napravili svoje?

U svakom slučaju, počnite polako i nemojte se obeshrabriti. Kada naučite nove stvari, bit će vam lakše učiti druge stvari. To će vas dovesti vjerojatno do korištenja određenih JS frameworka (ako se odlučite na web development), a to vas na kraju može dovesti i do dobrog posla. Zato, ako imate imalo afiniteta prema ovome, krenite!

 

Piše: B.P.

Komentiraj

Please enter your comment!
Please enter your name here