img

Quantox Akademija

Iz ugla Front-end programera

Milica Pejatovic 14.07.2022 Blog

*Tekst prilagođen, izvor Quantox blog

U samom uvodu ovog teksta želeo bih da vam prenesem svoje iskustvo, ponudim nekoliko saveta u vezi sa tehnologijama i njihovom primenom, napišem kratak vodič kroz jezike koje sam i sam prošao i kako sam, učeći, postao Frontend programer.

Prvo pitanje koje treba da postavite sebi i budete realni sa odgovorom –“Zbog čega želim da se bavim programiranjem?” Veoma jednostavno, zar ne? Zašto je najvažnije pozabaviti se ovim pitanjem? Upravo zbog toga što programiranje i rad u IT firmama pored cool stvari, dobre zarade, česte organizacije meetup-ova, druženja, izleta, remote rada, postoji i druga strana – a to je velika odgovornost, požrtvovanost, odricanje zarad napredovanja i učenja novih tehnologija, a sve u cilju praćenja novih trendova u vremenu gde je tehnologija uzela velikog maha i brzo napreduje.

Bitne stvari koje treba imati na umu prilikom ulaska u svet kompjutera, programiranja ili nekog drugog IT posla su:

  1. Početi postepeno od osnova, i to savetujem za svaki jezik. Ma koliko ste odmakli sa Javom, ako planirate da se prebacite na C# obavezno neka to bude učenje od samog početka.
  2. Ne poredi se sa drugim developerima, ne napreduju svi istom brzinom. Važno je biti uporan i istrajan u svemu ma koliko bilo teško. Treba izaći iz zone komfora jer je programiranje takvo-  svaki problem je rešiv ali je svaki problem jedinstven i treba mu prići na takav način.
    Takmičiti se sa drugima može da ima negativno delovanje po vas jer ćete tada sve da prelazite brže kako bi sustigli nekog. To nije rešenje.
  3. Iz iskustva govoreći: na samom početku, nakon istraživanja o programiranju i jezicima kao takvima, treba se opredeliti u kom pravcu želite da se usavršavate, učite i na kraju čime da se bavite. Programiranje je veoma širok pojam i provlači se kroz mnoštvo sfera – od weba, programa ili igrica pa sve do robotike, nauke, IoT projekata.
  4. Treba naučiti kako da raspodelite vreme kako u učenju tako i u radu na projektima. Bitno je da se stekne radna navika kao i navika kodiranja.
  5. Postavite sebi male ciljeve za početak, ne zbog toga što ste nemarni prema svom napretku, već zbog toga što brinete upravo za taj napredak. Napravite To do listu stvari koje želite da završite tog dana makar to bila samo jedna stranica čitanja, gledanje jednog video tutorijala ili pisanje 20 linija koda.
  6. Napravite git account i commitujte svakog dana značajne promene. Na taj način ćete najbolje pratiti svoj napredak.

Programming Language

Dakle imamo osnovne podele ( pravce ) a to su: Operativni sistemi, aplikacije za telefone, web aplikacije i web generalno, VR, AR, Game development, Robotika, Mreže, Sistem Administratori, DevOps, IoT.

Popularni programski jezici:

Java, C, C#, C++, Objective-C, JavaScript, PHP, Python.

 

Java

PHP

Python

Ruby

Najviše se koristi za android aplikacije. Takođe imamo veliku primenu u IoT.
Java je veoma portabilna, cross-platform, (JVM) – java virtual machine. Inače je statically-typed jezik što znači da se code proveri pre nego što se aplikacija izbilduje. Dizajnirana je da bude slična C++. Java je OOP – objektno orijentisano programiranje.
Najpoznatiji framework – Spring.
U Javi su napisane mnoge stvari, najpoznatije: Eclipse, Hadoop, Android, App za Android…
* Statically typed language je brži od dynamically typed.

Programski jezik koji je namenjen konkretno za web – njegov fokus je na backend-u, programiranje web aplikacija na serverskoj strani. Veoma popularan i tražen jezik jer ipak, kao i kod JS, veliki deo web-a radi na php-u. PHP je dynamically typed. Najpoznatija web aplikacija napisana u PHP-u je upravo Facebook.

Veoma svestran jezik, nalazi primenu skoro svuda, moćan i jednostavan za učenje. Preporučuje se za početnike jer razvija dobru logiku programiranja. Njegova moć i raznovrsnost se ogleda u tome što može da bude dobar kako za web aplikacije (backend framework Django) tako i za data analize, AI, analize u naučne svrhe. Većina developera koristi python kako bi napravili neki tool ili mini igricu za raspberry pi ili arduino. Python je dynamically typed jezik, međutim kao takav je dosta brz.
Stvari napisane u python-u: Atom, Eclipse, Sublime Text, PyCharm, Blender, BitTorrent, part of Ubuntu, Civilization VI koristi python za većinu taskova, Overwatch.

JS nam omogućava da gradimo interaktivne web sajtove. Kao glavni programski jezik koji se koristi u webu, na frontend delu web-a nosi veliku popularnost – iz njega proističe mnoštvo framework-a i biblioteka kao što su React, Vue, Angular, Ember, jQuery. Primenu JS odnosno njegovog frameworka možemo naći i u backend-u, nodeJS-u, a isto tako i sa electronom može napraviti cross platform desktop aplikaciju. Kao dynamically typed jezik, JS je spor za pravljenje desktop aplikacija ali koristi se i sve je bolji u tome. JS, kao i PHP, je zaslužan za ceo web, tako da nema smisla nabrajati šta je sve napisano u JS-u.

Popularnost Ruby jezika nalazimo prvo u njegovoj sintaksi koja je, pa skoro, kao da pišete nešto na engleskom jeziku. Ruby on Rails je framework koji je u stvari full stack web framework.
Dizajniran sa ciljem da programiranje načini lakšim i zabavnijim, našao je primenu u webu a isto tako i u pravljenju igrica. Ruby je dynamically typed jezik.

Nadam se da, nakon svega ovoga, imate bar malo jasniju sliku o tome kako izgleda put ukoliko se odlučite za programiranje. I nebitno je za koji jezik ste se opredelili, bitno je da istrajete u učenju istog. Učenje programiranja najbolje je kroz fakultet ili neki licencirani kurs, ali kroz celo školovanje bitno je motivisati sebe da učite i sami. Ako si gamer napravi tic-tac-toe, sudoku ili flappy bird. Pratite logiku same aplikacije.

Ako želis da bolje razumeš frontend, napravi svoj sajt.
Ako želis da napraviš full proizvod, web aplikaciju ili slično počni tako što ćeš napraviti neki online bookstore, blog, upotrebi google maps api za svoju ličnu web navigaciju.