Šta je novo?

Web Development za pocetnika

mr_gee_fox

Slavan
Učlanjen(a)
22.01.2009
Poruke
578
Poena
319
Posto sam skoro savladao tehnike objektnog programiranja, sledeca stvar kojoj sam resio da posvetim paznju, vreme i neprospavane noci je web development. Trenutno zavrsavam drugu godinu na VISER-u i od predjenog gradiva imam Programiranje 1 i 2 (C), Objektno programiranje 1 (C++ kod Lasla) a uporedo sa skolovanjem sam ucio i .NET(C#). Sada kada je doslo vreme da posvetim web-u, nalazim se u nedoumici da li da nastavim sa .NET-om ili da krenem od nule sa php-om i MySql. Vecina prijatelja i poznanika me odvraca od ASP.NET-a i nagovaraju me da predjem na php a ja sam vec solidno usao u .NET sto me dovodi u prilicno neodlucnu situaciju. Najvise bih voleo da cujem savete od ljudi sa foruma koji se vec bave webom, ne bi li mi bar malo olaksali izbor izmedju ove dve opcije. Konkretno me interesuje koliko bi komplikovano bilo prebaciti se sa .NET-a na drugi jezik i koliko je to pametno i isplativo resenje. Isto tako me interesuje kakva je situacija na trzistu i kakva je konkretno potraznja (php vs asp programeri). Naravno, ukoliko budem imao vremena, planiram da uz jednu od ove dve stvari krenem da usavrsavam i jos jednu sporednu. Sta bi mi tu bilo najkorisnije po vasem misljenju?

Trenutno mi je plan da krenem sa webom dok ne ovladam koliko-toliko materijom pa onda da trazim neku firmu gde bih mogao da volontiram i vidim kako stvari funkcionisu u praksi (krenuo bih i sada ali je ipak malo neozbiljno bez ikakvog znanja pokucati na bilo cija vrata). Svaki savet je dobrodosao....
 
Počni sa http://www.codecademy.com/ i pređi prvo html i css, pa onda počni sa osnovnim JavaScript.
Nema rada za web bez da imaš barem osnovno znanje o ovom iznad, pa čak i ako se odlučiš da radiš isključivo kao Backend Developer.
 
Html i css vec znam a sto se js i jq tice, tu dve veze nemam i verujem da cu morati i tome vreme da posvetim....
 
Ako imaš već C/C++, PHP ti neće predstavljati problem, pošto se na njega oslanja. Dokumentacija (PHP.net) je odlična, a zajednica je ogromna (svako pitanje koje imaš je odgovoreno 1000 puta, u svim varijantama, pa uvek možeš da pročitaš o tome što te muči). Ja sam do sad radio PHP backend, a u narednom periodu ću morati i Node.js da savladam.

U svakom slučaju, šta god odlučio, prvo nauči Javascript, bez dodataka. Onda pređi preko jQuery-ja (koji ćeš kasnije koristiti u manje-više svakom projektu).
 
Hvala Ays na ovome. Prilicno je zanimljiv sadrzaj i interaktivan. Koliko vidim, ovde samo osnove imaju ali taman toliko da me uvedu u materiju....
 
Hvala Ays na ovome. Prilicno je zanimljiv sadrzaj i interaktivan. Koliko vidim, ovde samo osnove imaju ali taman toliko da me uvedu u materiju....

Ja sam potpunog uverenja da su ti jedino potrebne osnove prilikom ulaska u neku novu web dev materiju, a da je sve nakon toga najbolje naučiti kroz praksu. Tipa... napravi "mini Twitter" koristeći asp.net. Google, Stack Exchange i eBooks (ako želiš da ti pošaljem link do sajta gde možeš da preuzmeš poveći broj istih a nije torrent, javi mi se na pm, da ti pošaljem link.) su tvoji prijatelji. ;)
Onda kada poželiš da naučiš više o JavaScript developmentu, onda napravi isti taj "mini Twitter" samo koristeći API - Client arhitekturu, gde ćeš sa C# da napišeš API a Web Client da razviješ sa, npr BackboneJS + HandlebarsJS(templating system).

Obavezno počni da koristiš SASS ili LESS umesto standardnog CSS-a, prouči SMACSS preporuke i drži se DRY(Dont Repeat Yourself) metodologije rada.

p.s.
Naravno, gore možeš da zameniš C# sa PHP, Ruby, Python ili Java... takođe, umesto Backbone možeš Ember, Angular ili CanJS da probaš.
Takođe, Web Client može da bude isto tako i iOS ili Android client. U biti, jedino što je tu tebi potrebno je da razumeš kako RESTful funkcioniše i odradio si 70% posla što se backend-a tiče.

Ovo sam ti napisao jer se apsolutno očekuje da Backend API bude dovoljno robusan i fleksibilan da opslužuje različite klijente. ;)
 
Poslednja izmena:
Ja sam potpunog uverenja da su ti jedino potrebne osnove prilikom ulaska u neku novu web dev materiju, a da je sve nakon toga najbolje naučiti kroz praksu.

Slažem se :). Najviše se nauči kroz praktičan rad.

Onda kada poželiš da naučiš više o JavaScript developmentu, onda napravi isti taj "mini Twitter" samo koristeći API - Client arhitekturu, gde ćeš sa C# da napišeš API a Web Client da razviješ sa, npr BackboneJS + HandlebarsJS(templating system).

Ako planiraš ozbiljno da se baviš WebDev-om, kompletno zaobiđi M$ Stack (ASP.NET, C#, itd...).

Obavezno počni da koristiš SASS ili LESS umesto standardnog CSS-a, prouči SMACSS preporuke i drži se DRY(Dont Repeat Yourself) metodologije rada.

Za DRY se slažem uz obavezan KISS. Ali zašto obavezno da koristi SASS/LESS?

p.s.
Naravno, gore možeš da zameniš C# sa PHP, Ruby, Python ili Java... takođe, umesto Backbone možeš Ember, Angular ili CanJS da probaš.
Takođe, Web Client može da bude isto tako i iOS ili Android client. U biti, jedino što je tu tebi potrebno je da razumeš kako RESTful funkcioniše i odradio si 70% posla što se backend-a tiče.

Ovo sam ti napisao jer se apsolutno očekuje da Backend API bude dovoljno robusan i fleksibilan da opslužuje različite klijente. ;)

S obzirom na to da je čovek tek završio OOP, nek krene polagano sa PHP-om

--------------

@gee_fox

Ja mislim da bi najbolje bilo da kreneš sa PHP-om, i to CodeIgniterom kao odličnim MVC Frameworkom u kome i početnici mogu baš lepo da se snađu.
 
Ako planiraš ozbiljno da se baviš WebDev-om, kompletno zaobiđi M$ Stack (ASP.NET, C#, itd...).

U zavinosti šta mu je cilj... ako je cilj da radi kao freelancer ili da radi odavde(kao remote dev) za neke strane firme, onda bi PHP ili Ruby bili mnogo bolji izbor.
Međutim, ako mu je cilj da ode iz Srbije i radi za ozbiljnu korporaciju, samo asp.net ili Java se traže.

Za DRY se slažem uz obavezan KISS. Ali zašto obavezno da koristi SASS/LESS?

Zato što je 5x lakše pisati kompleksan CSS kod u SASS ili LESS.
Rails podržava, native, SCSS.
Laravel (kojeg ćemo se dotaći malko kasnije) podržava LESS.
NodeJS podržava LESS
Bootstrap je napisan u LESS
Foundation je napisan u SASS.

I zato što ovo:
SCSS:
Kod:
$blue: #3bbfce;
$margin: 16px;

.content-navigation {
  border-color: $blue;
  color:
    darken($blue, 9%);
}

.border {
  padding: $margin / 2;
  margin: $margin / 2;
  border-color: $blue;
}

ili ovo (isto SCSS):
Kod:
@mixin errorBorder($color) {
  border-color: $color;
}
.error {
  border: 1px #f00;
  background: #fdd;
}

.badError {
  @extend .error;
  border-width: 3px;
  @include errorBorder(blue);
}

To će sve lepo biti kompajlirano u css po w3c standardima. ;)

S obzirom na to da je čovek tek završio OOP, nek krene polagano sa PHP-om

Ja mislim da bi najbolje bilo da kreneš sa PHP-om, i to CodeIgniterom kao odličnim MVC Frameworkom u kome i početnici mogu baš lepo da se snađu.

Pa PHP je najgori mogići jezik za učenje OO programiranja ali pošto je najkorišćeniji serverski jezik, onda i jeste neki default izbor.
CodeIgniter više nikome ne preporučujem da koristi prilikom odabira PHP frameworka - Laravel je pravi izbor sada.

Za razliku od CakePHP i Symfony koji su pokušali na različite načine da iskopiraju Rails(i bili vrlo, vrlo loši u tome), Laravel ne kopira Rails, već koristi dobre prakse i standarde iz istog. Kratak spisak dobrih stvari:
- Composer
- Artisan (rake like tool)
- PHP Unit
- Blade templating system
- RESTful support
- Eloquent ORM

Radio sam sa CI, oko 3 godine, ali poslednjih godinu dana radim skoro iskljucivo RoR ili JS development. Medjutim imao sam priliku da radim sa Laravel-om na jednom projektu pre par meseci i bilo je zadovoljstvo programirati sa PHP na tom frameworku.
 
Ok, posto mi bezanja iz srbije nema, vrlo verovatno da izbor pada na php+mysql (sam sql kao jezik generalno znam). Ono sto me buni je odabir frejmvorka za php posto vidim da je aktuelno bar 4-5 njih i interesuje me kakva je sustinska razlika? Namena, biblioteke i funkcije, medjusobna kompatibilnost i sl....
 
Međusobna kompatiblinost je užasna i generalno se ne praktikuje.
Trenutno, koliko je meni barem poznato, aktuelni PHP frameworks su:
- CodeIgniter
- Zend2
- Symfony
- Laravel

Ovi ostali... zaista ne znam da li su uopšte vredni pomena (ako jesu, ja se izvinjavam).
Ono što je jako bitno da znaš je da se trend među php frameworks menja i da je daleko bitniej da ti znaš i razumeš sam PHP jezik i kasnije da ovladaš sa nekim od framework-a, biće ti mnogo lako da se prebaciš sa jednog na drugi. ;)
 
Dodao bih Yii kao jedan dobar framework. I preporučio da se sa Zend ne uleće olako u priču, pošto je po meni previše kompleksan, posebno za ulaženje u štos...
 
Još jedna preporuka za Yii framework, kao početni MVC framework. Ima ogromnu podršku i isto tako veliki broj developera iza sebe.
 
Ja ga ne bih preporucio zato sto mu je kriva ucenja uzasna i vrlo je kompleksan za pocetnike. Ove ostale RoRPHP pokusaje ne bih uopste uzimao za ozbiljno jer su neozbiljni, lose dokumentovani, a neki od njih i uzasno spori.
 
Ja ga ne bih preporucio zato sto mu je kriva ucenja uzasna i vrlo je kompleksan za pocetnike. Ove ostale RoRPHP pokusaje ne bih uopste uzimao za ozbiljno jer su neozbiljni, lose dokumentovani, a neki od njih i uzasno spori.

Zato jedino i predlazem Laravel. Zbog toga sto su php programeri poput ovog: https://github.com/philsturgeon stali iza istog. Pogledaj sta je momak sve napravio ;)
 
Laravel deluje cool, kao CI koji nije zapeo vec je nastavio normalan razvoj. Jedva cekam neki glup projekat da ga testiram :)
 
Радим са Зендом, и никако га не бих препоручио почетницима. Ја сам имао искуства са Јавом ЕЕ и опет кад сам кренуо да радим са Зендом било ми је мало теже да се похватам како функционише. Уз то документација им није најсјајнија. Причам о верзији 1.
 
Inace nije CI uopste los cak iako se konkurencija i dalje razvija. Brzo se uci, izuzetno je brz, pouzdan, fleksibilan, a sa druge strane i dalje ima veliku zajednicu i sam razvoj nije stao. Uskoro ce i v3 od koje se mnogo ocekuje. Voleo bih da vidim malo vecu povezanost sa PHP 5.4/5.5 novotarijama ali daleko od toga da je CI nepreporucljiv. Bas naprotiv, nakon opseznog testiranja vecine poznatih i poplarnih PHP fw-a (izuzev Laravela) dosao sam do prostog zakljucka - they suck.
 
Mislim da niko još duže vreme neće reći za CI da je loš... na protiv.
Samo je trenutno takva situacija u PHP zajednici da se većina onih koji zaista nešto doprinose po pitanju unapređenja kako jezika, tako i načina rada, prešli da rade na/sa Laravel-om.

No, to je moj barem utisak... ;)
 
Vrh Dno