Starter Kits/COBE

O tvrtki

COBE (Creators Of Beautiful Experiences) je kreativna agencija sa sjedištem u Münchenu i uredom u Osijeku. COBE dizajnira digitalne identitete za tvrtke, a područja u kojima djelujemo su Digital Design Strategy, Digital Branding, Usability Engineering, User Experience Design i Software Development.

I dok u Münchenu naš tim vrhunskih dizajnera stvara kreativna rješenja za neke od najvećih europskih i svjetskih brendova kao što su Adidas, Audi, Vodafone i Uni Credit banka, COBE Osijek djeluje kroz tim vrhunskih developera koji udišu život u dizajn stvoren u njemačkom uredu. Sve projekte radimo s velikim entuzijazmom i profesionalnošću što dokazuje više od milijun korisnika naših aplikacija diljem Europe.

Zahvaljujući stalnom rastu i širenju portfelja klijenata, COBE je konstantno u potrazi za pojačanjima u developerskom timu, među kojima su često i studenti i početnici koji nas osvoje entuzijazmom i željom za učenjem i razvijanjem. Ako si i ti rookie u svijetu developmenta i tražiš smjer u kojem se želiš razvijati, mi svakako navijamo za mobile development. Zato smo pripremili kratke savjete za upoznavanje iOS i Android sustava. Kad proučiš sve detalje, provjeri i tražimo li nove zaposlenike. Ako se pronađeš u nekom od oglasa, javi nam se na mail osijek@cobeisfresh.com!

Otvorene pozicije objavljujemo na našoj web stranici, a sve druge novosti možeš pratiti na našem blogu, ili putem profila na Facebooku, Twitteru i Instagramu.

SWIFT/iOS

Ključne stvari koje svaki Swift developer mora znati:

  • Poznavati principe objektno orijentiranog programiranja: objekti, klase, strukture, inicijalizatori, enkapsulacija, nasljeđivanje, itd.
  • Poznavati osnovne principe funkcionalnog programiranja: closure (lambda funkcije), funkcije višeg reda (map, filter, reduce)
  • Razumjeti razliku tipova koji se prenose po vrijednosti i referenci (value vs. reference type), odnosno razliku klase i strukture
  • Znati što je MVC (Model-View-Controller) te gdje pripadaju pojedinačni dijelovi koda
  • Koja je svrha i kako koristiti Git

Ključne stvari koje svaki iOS developer treba znati:

  • Xcode: prečaci, izbornici, gdje se što nalazi, debugging alati
  • UIKit: Storyboard, Auto-Layout, Segue, view hijerarhija
  • Lifecycle metode ViewControllera, AppDelegatea
  • Kako radi UINavigationController i iOS navigacija
  • Kako dohvatiti podatke s interneta
  • Što je REST, što je JSON, i kako parsirati JSON u Swift strukturu ili objekt
  • Dodavanje frameworka u aplikaciju (CocoaPods, Carthage ili Swift Package Manager)
  • Rad sa UserDefaults, spremanje i dohvaćanje podataka iz Core Data

Iako na prvu zvuči zastrašujuće, ne morate se brinuti jer postoji puno resursa koji će vas uputiti i uvesti u svijet iOS-a. Za početak, možete krenuti s odličnim predavanjima o razvoju iOS aplikacija u Swiftu Sveučilišta Stanford, a koja su dostupna besplatno preko iTunes-a. Prof. Hegarty provest će vas kroz gotovo sve aspekte kreiranja iOS aplikacija. A ako kodirate dok gledate, nakon što pogledate sve videe, bit ćete spremni napraviti bilo koju iOS aplikaciju koju možete naći na App Storeu.

Kako biste naučili iOS, svakako morate znati Swift. A najbolji materijal za učenje najbolje je potražiti izravno kod kreatora Swifta – Applea. Apple ima sjajan Swift eBook koji je kompletan pregled tog jezika, kojem se i naši developeri ponekad vraćaju kada negdje zapnu.

Dok je Appleov eBook više teoretske naravi (koju trebate znati!), ponekad vam treba i malo praktičnih primjera da bi vam znanje “sjelo”. Najbolji resurs praktičnih primjera za početnike je Hacking With Swift, web stranica koja je prepuna primjera i zadataka za Swift.

I za kraj, kada ste proučili sve linkove, preuzmite naš lesson plan kojeg pripremamo za sve studente i praktikante.

ANDROID

Što je potrebno za postati Android developer?

  • Računalo s bilo kojim operativnim sustavom
  • Volja za učenjem

Koja su znanja potrebna za početak učenja?

    • Osnove objektno orijentiranog programiranja
    • Osnove rada sa Java programskim jezikom

Koji su alati potrebni za razvoj Android aplikacija?

    • Android studio

Android studio sadrži sve što je potrebno za početak rada i učenja Android developmenta. Ako nemate Android uređaj za testiranje vašeg projekta, pomoći će vam Virtual Device Manager sa svojm emulatorom Android uređaja (bilo koje verzije i specifikacija). Kako bi vaši alati bili up-to-date, Studio koristi ugrađeni alat – SDK Manager. Osim ovih, postoji pregršt alata i dodataka (plug-ina) za Android studio koji će vam jako olakšati rad.

Odakle krenuti?

Prvo mjesto koje bi svaki developer trebao posjetiti je Googleova Android Developer dokumentacija. Na jednom mjestu pronaći ćete vodiče koji objašnjavanju gotovo sve od toga kako postaviti prvu Android aplikaciju na noge do naprednijih tema kao sto su spremanje podataka u bazu i dopuštenja pristupa aplikaciji osjetljivijim dijelovima Android sustava.

Na istom mjestu nalaze se i smjernice vezane za dizajn Android mobilnih aplikacija, korištenje Googleovih alata za objavu aplikacija na Play Store i savjeta za uspjeh same aplikacije.

Kad prođete svu dokumentaciju, i napredujete na ozbiljnija pitanja, postoji još nekoliko mjesta na kojima možete potražiti pomoć:

    • Google Developers: centralno mjesto za sve Googleove alate (Maps, Analytics, Youtube…) s tutorialima koji objašnjavanju kako ih implementirati u projekt
    • Vogella: Android, Java, Web development i design patterni samo su neke od tema koje možete pronaći na ovom korisnom blogu
    • Android Arsenal: nakon sto prođete sve gore navedeno, spremni ste za korištenje biblioteka (library). Android Arsenal sadrži katalog većine biblioteka koji će vam ikada trebati, od onih koji se odnose na UI do networkinga i baza podataka

Kroz ovaj kratki pregled vidljivo je kako zaista postoji veliki izbor literature, knjiga, tutoriala, savjeta, vijesti i iskustava koje vam mogu pomoći. Ipak, najvažnije je imati želju za učenjem i razvijanjem. A uz sve navedene alate i vodiče, sigurni smo da ćete jako brzo imati svoju prvu aplikaciju.

WEB

FRONTEND

Ključne stvari koje svaki frontend developer mora znati:

  • Odlično poznavanje CSS i HTML
  • Poznavati JavaScript programski jezik
  • Poznavati neki od CSS predprocesora (SASS, LESS,…)
  • Poznavati metodologije pisanja CSS-a (BEM)
  • Poznavati osnove rada Webpacka
  • Osnove responzivnog dizajna
  • Poznavati osnove React-a
  • Svrha Git-a i njegovo korištenje

Ukoliko se odlučite za avanturu frontend developera prvi korak su HTML i CSS. Nakon što ste savladali dva osnovna temelja svake web stranice, vrijeme je za JavaScript! Nemojte pokleknuti pred kušnjom isprobavanja nekog JavaScript librarya ili frameworka prije učenja samog JavaScripta – radi stjecanja ispravne podloge i razumijevanja principa rada jezika potrebno je prvo dovesti poznavanje čistog JavaScripta na razinu pa se tek onda uhvatiti u koštac s nekim od (bez)brojnih librarya ili frameworka koji za njega postoje. JavaScript kao jezik na prvu ruku izgleda jednostavno i naivno dok ne krenete malo dublje istraživati. Sljedeći linkovi vam mogu pomoći u tome:

JavaScript Garden:

https://bonsaiden.github.io/JavaScript-Garden/

ES6:

http://marijnhaverbeke.nl/talks/es6_falsyvalues2015

Promises:

https://developers.google.com/web/fundamentals/primers/promises

Async things:

https://mostafa-samir.github.io/async-iterative-patterns-pt1/

How to handle undefined:

https://dmitripavlutin.com/7-tips-to-handle-undefined-in-javascript

Naravno, gore navedene vještine nikako nisu jedine stvari koje jedan frontend developer treba znati! Svakako ćete se susresti sa CSS pre- i postprocesorima, task runnerima i module bundlerima, da ne pričamo o već spomenutim JavaScript libraryima. Frontend development je dinamično područje te je izazovno ostati u korak s tehnologijom.

BACKEND

Ključne stvari koje svaki backend developer mora znati:

  • Poznavati načine izrade RESTful web servisa
  • Znati baratati JSONima
  • Poznavati mehanizme rada SQL i NoSQL baza podataka
  • Poznavati objektno orijentirani pristup programiranju
  • Poznavati osnovne uzorke dizajna
  • Poznavati osnove deploymenta aplikacije
  • Poznavati osnove rada s terminalom
  • Svrha Git-a i njegovo korištenje

Vidite li se ipak više u backend vodama, kao i u slučaju JavaScripta kod frontenda na prvom mjestu vam je potrebno poznavanje jezika. Što se backenda tiče, mogućnosti je više pa je nužno odabrati jedan jezik koji vam se sviđa i svoje znanje graditi na temelju njega. Prebaciti se na drugu platformu (npr. s Node-a na Rails) relativno je probavljivo pod pretpostavkom da ste savladali osnovne stvari koje su potrebne za upogonjivanje i razumijevanje backenda. Internet može biti zastrašujući ocean resursa i materijala za učenje pa smo pripremili nekoliko korisnih početnih točaka iz perspektive Node.js-a kojeg COBE koristi za upogonjivanje backenda:

REST API with Express and Mongo:

https://hackernoon.com/restful-api-design-with-node-js-26ccf66eab09

Project structure

https://blog.risingstack.com/node-hero-node-js-project-structure-tutorial/

Best Practices for Writing Node.js REST APIs

https://blog.risingstack.com/10-best-practices-for-writing-node-js-rest-apis/

Debugging Node in Webstorm

https://www.jetbrains.com/help/webstorm/running-and-debugging-node-js.html

Svaki backend developer bi trebao znati napraviti rutu na koju će se gore spomenuti frontend developer moći spojiti i dobiti podatke iz baze. Rad s bazama, kako relacijskim tako i nerelacijskim, uvijek će biti ključan faktor bez obzira na platformu. Također, poznavanje strukture RESTful web servisa nužno je za osmišljavanje arhitekture backenda, kao i snalaženje u objektno orijentiranom pristupu programiranju. Za kraj, ne smijete se bojati terminala! Preko njega ćete izvršavati sve akcije kojima baratate backendom – ovo uključuje i verzioniranje preko Git-a te deployanje gotovog backenda.

Također, ako tijekom učenja naiđete na problem na koji nemate odgovor, COBE developeri rado će uskočiti. Možete nas kontaktirati na mail osijek@cobeisfresh.com ili putem naših profila na Facebooku, Twitteru i Instagramu.

Sretno!

Najave događaja

  • Nema nadolazećih događaja.

Ostavi Komentar

Vaša adresa e-pošte neće biti objavljena. Nužna polja su označena s *