Webes technologiak tanulasa - where to continue?

Az elmult evben alaposabban megismerkedtem alapveto webes technologiakkal, mint pl. a(z x)HTML, a CSS, es a PHP, valamint a PHP adatbazis kezelo kiegeszitesei (mysql, Oracle (oci), postgresql). Webszerverekbol sem csak az Apache-t ismerem, az Oracle-os oci-t a PHP-hoz pl. csak az nginx + php-fpm parossal birtam mukodesre birni (tudom, hogy Apache-sal is meg lehet csinalni, de nalam timeout-olt ott az utananezesi kepessegem es a kitartasom, annal eppen surgosebb volt akkor, de ez most lenyegtelen). A lenyeg ebben, hogy az nginx-et hasznalnam szivesebben, ha van ra mod, az jobban tetszett vegig az Apache-nal, lehet, hogy ez problema lesz valahol.

Es most hirtelen megerkeztem egy hatalmas dzsungelbe. Ugyanis mindenfele olvasgatva bele-bele futogattam altalam nem ismert, de hasznosnak tuno, sot adott helyeken kotelezo dolgokba. Es ezek kozul nem tudom, mit kezdjek el _kovetkezonek_ tanulni. Eloszor is kezdenem azzal, hogy mit nem fogok es miert: mivel a C# nalam csak jovore kerul elo (nem zarom ki csak azert, mert Microsoft, hanem egyszeruen nem most van itt az ideje), igy az ASP.NET csak jovore kerul tervbe, erdekelni erdekel, de nem most. Ezenkivul amit azert nem akarok, mert egyszeruen nem tetszett maga a fejlesztokornyezet sem, meg ugy az egesz sem, az a Flash. Jo dolog az, de ne nekem kelljen mar azzal dolgoznom, nem az en vilagom egyszeruen ez a kattintgatos bloatware-ben torteno scriptirogatas rajzolassal kombinalva.

Ami viszont mar eleve gond, hogy hova erdemes innen tovabbmenni? Web frameworkok iranyaba (Yii, Ruby on rails, vagy valamelyik masik)? Esetleg CMS-ek iranyaba (Drupal, Joomla, vagy valamelyik masik)? Esetleg ilyen egyeb finomsagok iranyaba, mint a javascript, az ajax, vagy a jquery? Melyik megtanulasat erzitek a legpiackepesebbnek ezek kozul? Vagy az a szomoru helyzet all fent, hogy mindet ismerni kell egyszerre es kezdjem szepen sorban? (azesetben javasoljatok sorrendet) Vagy mar eleve a PHP helyett tudni fogtok mutatni valamit nekem, ami jobban tetszik? A kerdes elottetek all, a tanacsmegnemfogadas jogat (indokolt esetben) fenntartom ;)

Hozzászólások

Az Yii-vel lehet, hogy meg fogok ismerkedni a közeljövőben, de igazából az egész PHP egy gányolásnak tűnik, lévén egy verzióváltásnál teljesen megszokott, hogy nem üzemel tovább a kódod, legalábbis az 5.3-nál sok ilyen hiszti volt...
A felsoroltakhoz talán hozzávenném a GWT-t, ugyanis a cégnél mi ezt választottuk a termékünk webes admin GUI-jának.

Ertem en, de ha nem ismered a Java-t, es nem talalkoztal meg egy olyan IDE-vel, ami kepes debuggolni, 'show declaration', ' show call hierarchy' stb funkciokkal megtamogatni a fejlesztest, akkor nem csak a nyelvet kell megismerned, hanem a fejleszetesevel kapcsolatos dolgokat is.

Masreszrol a GWT maga nem tul bonyolult, mondhatni alap szinten egyszeru mint a faek.
De ez ugyanolyan, mint ha php-ban akarnal fejleszteni egy osszetettebb oldalt: erossen ajanlott valamivel kiegesziteni(zend, symphony etc), nem a GWT/GAE parost hasznalni.

Ezek a keretrendszerek tenyleg majdnem egy kaptafara mennek, de nem minden esetben azert, mert egymast masoljak. Ez nem bug, ez feature;) Mivel patternekre epulnek, ami tanulhato, es az a tudas ujrahasznosithato barhol, ahol azt a patternt hasznaljak. weben talan a legismertebbek az MVC/MVP. Ezeket mindenkepp nezzd meg.

Flash helyett Flex :)

Amúgy meg Java + Spring (MVC)? Én most kezdtem el, PHP után tisztább, szárazabb, biztonságosabb érzés!

Javascript, egyertelmuen. Igazan jo Javascript programozokbol nincs sok. Tanulni sokat lehet vele, maskepp kell hozzaallni a problemakhoz. Nomeg, a mostanaban divatos HTML5 nagyobbik fele a bongeszok Javascript library-janak kiboviteserol szol. Az AJAX egy fel delutanos moka, aztan "AJAX expert" lehetsz. A jQuery meg megkonnyiti az eleted, de persze mivel Javascript framework ami nagyreszt CSS selectorokon alapszik, hogy igazan ki tudd hasznalni, ismerned kell ezeket.

Aztan uj nyelveket/frameworkoket tanulni mindig erdemes: Ruby on Rails, Python+Django, aztan Java+Spring v. Java+Struts, C# + ASP.NET (es/vagy ASP.NET MVC).

Egy ido utan aztan nem szamit milyen nyelv, framework vagy CMS az amiben epp fejleszteni kell, egy-ket nap alatt bele tudsz majd tanulni.

Ez csak akkor igaz, ha megvannak a biztos alapok, vagyis egy request-response streamet tcpdump-bol tudsz elemezni. Innentol kezdve minden framework erre az alaphelyzetre epit kenyelmi funkciokat, de azokat is egymastol masoljak. :)

szerintem ha weblapkészítés a célod, akkor a következő a helyzet:
-ha egyedül akarsz honlapot csinálni, akkor vagy fwamework vagy CMS
-Ha csapatban, akkor dönteni kell, hogy backend vagy frontend, ha backend, akkor lsd előző port, ha frontend, akkor javascript/jQuery

Otthon nem láttam élesen kiugró wrameworkot, asszem a Symfony és a Zend nagyjábol ugyanott van, UK-ban egyértelmű Zend uralom van, ahogy elnéztem.

Ha már php-t tanultál, akkor jó lesz az:)

---
Dropbox tárhely igénylás: http://db.tt/XMk0ssk

Én is ilyesmit javasolnél, csak még kiegészíteném azzal, hogy ha megvan, hogy coder (backend) vagy site builder (frontend), és az előző hsz -en átrágtad magad, akkor feküdj rá az optimalizálásra.

Van back- és frontend részen annyi fogás, amiről a sok PHP Pistikének fingjuk nincs ... azzal inkább ki lehet tűnni, mint hogy mennyi mindenhez értesz. Szutyokból van már elég, jót (optimalizáltság szempontjából) kevesen tudnak csinálni :)