Honlap készítés tanulása alapoktól. Mit és hogyan?

Sziasztok!

Párommal úgy döntöttünk, hogy szeretnénk beletanulni a honlapkészítésbe. Nekem van gyakorlatom egyéb programnyelvekkel, illetve HTML+PHP (meg egy kis CSS-t) csinálgattam főleg iskolai időkben, viszont páromnak csak a nagyon alap iskolai HTML tudás van meg.

A kérdésem az volna, hogy szerintetek mit érdemes megtanulni? A sima HTML kell-e még vagy már rögtön HTML5 mehet? PHP és/vagy JavaScript? (Én inkább PHP párti vagyok, de ha inkább JavaScript-et érdemes, akkor párom azt tanulná.) CMS rendszerekkel mennyire célszerű foglalkozni?

Érdekelnek a tapasztalatitok ilyen téren, vélemények, illetve szakmai szempontok, hogy mik az elvárások manapság.

A kérdésekre szívesen válaszolok.
A válaszokat előre is köszönöm!

Hozzászólások

Mi a cél? Saját honlap, munka, vagy csak szimplán kihívás?

A környezetemben ketten is foglalkoznak webfejlesztéssel, így a tőlük nyert infók alapján: JavaScript és HTML5

De ahogy előttem felvetették, mi a cél?
A webes fejlesztés már olyan tagolt, mint az orvosi szakma; például urológus akarsz lenni vagy agysebész? Vagy fogorvos?

--
eutlantis

Így van. Frontend developer, backend developer, designer, stb...

Van a weblapfejlesztesnek olyan resze, ahol nem is latsz pl kódot, mert PS el csinálsz látványterveket, design elemeket. Olyan is van, hogy csak kodolsz, es azt sem latod mi lesz a vegen belole... ☺

Szóval igen, ez egy sokretu szakma.

eddig úgy tudtam, van sima sitebuilder (aki csak HTML + CSS, némi minimál JS esetleg), a frontend developer (aki nem nyúl a backendhez, viszont full ismeri a javascriptet és általában a CSS/HTML-t is csak nem mindegyiknek van szépérzéke is hozzá), a backend developer (aki nem foglalkozik CSS/HTML-lel, de a javascriptet általában fullra ismeri, meg a JS alapú adatbázisokat is), meg a full-stack developer (aki mindent tud).

Az orvosi szakmában azért ennél jobban széttagoltak a szerepek.

Backendet is nyugodtan tovább tagolhatod, nem én írtam, de szerintem a kolléga arra gondolt, hogy nagyon nem mindegy, hogy a backend-es embernek milyen jellegű tapasztalata van, ügyviteli kérdéseket tud-e értelmezni, vagy inkább marketingesekkel dolgozott sokat, nem biztos, hogy megéri belemenni az "általános php programozó" tanulási pályába. Van ilyen, mint ahogy a full-stack developer is létezik, de üzletileg nem biztos, hogy ez a legjobb döntés.

A kérdés valóban az, hogy mi a cél?
Mert ha ezen a területen szeretnétek elhelyezkedni, akkor kb. mindent érdemes megtanulni :)
Persze pl. ha csak frontendre szakosodtok, akkor elég a kliens oldali dolgokat profin művelni, de azért nem árt mellé némi PHP tudás is, hogy majd a backendes ne fogja a fejét, hogy egy-egy HTML megoldást, hogy töltsön fel adatokkal :)

Végül is a célszerű sorrend ez lenne:
1. HTML5 + CSS3
2. JavaScript
3. Webszerver működésének megértése: LAMP vagy WAMP, illetve összedobhatsz egy házi szervert amin kódolhatsz.
4. PHP alapok
5. MySQL alapok
6. Majd az öt technológia ötvözése: Összedobni egy egyszerű weboldalt, ami adatbázisból tölt be adatokat, akár AJAX-al, hogy legyen benne kis JS is :)
7. És lehet bonyolítani, gyakorolni összetettebb oldalak kódolásával, megismerkedni különféle PHP és JS keretrendszerekkel, bootstrappel, stb.

Ha már van egy webservered, akkor kipróbálhatsz különböző CMS-eket is. Plugineket, sablonokat ezekhez csak akkor tudsz majd hatékonyan írni, ha a fenti dolgokkal tisztában vagy.

+grafikai szoftverek

Ekkor meg lesz a "Mivel+technológiai tudás".

Ezután jöhet, a "Hogyan" lásd arányok, gridek, színelmélet, kompozíciók, tipográfia (kis kalligráfia), fotózás, szövegírás, marketing, etc...
Azután pedig jöhet a "Mit". lásd.: valamely szakmai kompetencia amit a fenti tudással pénzre válthatsz :)

Konkrét elképzelés nincs arról, hogy frontend vagy backend.

Igazából én úgy vagyok vele, hogy nem árt ha mindenhez hozzá tudunk szólni, majd ha úgy van, akkor abba az irányba orientálódunk, amelyik jobban bejön. (Én inkább backend felé mennék, párom inkább frontend/dizájn.)

Konkrét célok nincsenek. Maximum úgy tudnám megfogalmazni, hogy nekem munka (rendszergazda vagyok) mellé mellékesnek nem lenne rossz, akár saját honlapot készíteni, akár másodállásnak. Páromnak meg gyereknevelés mellett akár otthonról végezhető munka.

Nekem úgy tűnik, hogy backend esetén a Node.js, frontendnél az Angular2 képezi a fő áramlatot. De mielőtt ezek tanulásába belefognátok, előtte több hónapot rá kell szánni az alapok elsajátítására (HTML5, CSS3, JavaScript/TypeScript, DOM, JSON, XML, AJAX, SQL stb.).
Ha valamilyen CMS használata a cél, akkor elképzelhető, hogy nem kell a fentieket teljes mélységében megismerni.
Egy jól megírt CMS/DMS rendszert talán "felülről lefelé" is meg lehet tanulni, azaz a rendszer saját moduljaival kezdve, és csak akkor belemélyedni a részletekbe, ha az alapfunkciók már nem elégségesek.

--
eutlantis

én úgy tudtam, a (Facebook) React népszerűbb mint a (Google) Angular, az általad említett problémát pedig azóta orvosolja a (Facebook) Yarn.

apró és senki által nem használt szoftverek alatt nyomják ezeket, mint pl. YouTube, Facebook, és tényleg mindenki csak hobbiból irogat bele néha, nem mennek bele dollármilliárdok, és a Stanford / MIT PhD-hallgatóiból toborozott frontendfejlesztők kifejezetten kerülik, ez csak egy ilyen átlag open source játszósprojektek.

lock fajl mar van npm-nel is

ez a dependency dolog tenyleg zavaro. Olyan utemben tortennek a fejlesztesek, hogyha van 20 fuggoseged, egy ev mulva eloveszed a projektet, komoly fejlesztoi munka hogy ujra uptodate legyen.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Hadd adjak egy különvéleményt:

- pont most tartunk ott, hogy az egyszerű weblapok készítésére már jóval kevesebb megrendelés jön, mert egy rakás pár kattintásos weblap készítő szolgáltatás van, automatizálva, párezres havidíjért, nem tudsz vele versenyezni, ha mégis lesz vevőd, akkor majdnemhogy átvered (mert még nem talált rá ezekre az eszközökre), alap webshop ugyan ez. (ha már mellékes, akkor elgondolkodhatnál egy-egy ilyen eszköz kiismerésén, és ha van partner programjuk, akkor az ő technológiájukat használva értékesítőként összerakhatnál ilyen lapokat, ha gondolod dobj egy privátot, nálunk épp most lesznek ilyen lehetőségek)

- amit a fentiek nem fednek le, pl. kisebb egyedi igények: itthon gondolom nem kell mondanom, hogy nincs sok kkv, aki tényleg kis-, és szóba áll földönfutókkal, ÉS fizetőképes ÉS kezelhető ügyfél, de ez a réteg létezik, mind design-ban (kisarculat tervezés, nem kezdőnek való szerintem), mind programozásban (design ráncfelvarrás, mobilosítás, kisebb funkciók), viszont a programozási oldala meghaladja azt a szintet amit rövid időn belül meg lehet alaposan lépni.

- összetettebb webshop munkák (mert a weblap az ezen a szinten nem létezik), ügyviteli szoftverezés, számlázós webshop, nagyker árlista betöltés: ezt nem kezdésnek ajánlanám, mint rendszergazda ezt szerintem te is látod, ráadásul nagyobb feladat több ügyfélkezeléssel, és hosszabb átfutással jár, olyan support igénnyel amit másodállásban nem lehet teljesíteni, ...

Ami felé én elnéznék: sales és marketing. Sales alatt a fentit értem (weblap készítő programokat használva), marketing alatt pedig facebook jelenlétet, cikkírást, de ezt is szigorúan egy haladó marketing csapat részeként (főleg párodnak érdemes lehet, sokan végeznek marketing munkát gyerek mellett otthonról).

Please notice:

"az egyszerű weblapok készítésére már jóval kevesebb megrendelés jön ... alap webshop ugyan ez"

Arról próbáltam neki írni, hogy ha "hát sima kis egyszerű weblapokat készítünk majd" üzletbe kezd, akkor agyonnyomják ezek a szolgáltatások percek alatt. Biztos, hogy van amit nem tudnak, a konfekció cipőméret is van akinek nem jó, és egyedi öltönyszabó is van nem kevés, de már nem ott tart a vevők nagyrésze, hogy kell egy programozó, egy designer, egy hosting szolgáltató, hanem kap egy előadáson egy kupont, vagy hírlevélen, és kattintgat, csinál egy amúgy borzalmas, vagy legjobb esetben csak átlagos weblapot, és nem hív programozót. Majd amikor egyedi igénye van akkor igen, de akkor nem olyan tudásra van szüksége ami pár hónap alatt felszedhető munka mellett.

Amit én látok, hogy akkora frontendes hiány van hogy ha valaki a prototípusos öröklődésről a szükségesnél csak egy picit is hangosabban beszélget, azonnal feláll az asztalától 2-3 ott lebzselő IT recruiter és helyben nettó félmilliós fizetést adnak neki.

Konkrétan mesélnek olyan srácról aki a felvételin bebizonyítja hogy ért a JS-hez, bejelenti, hogy remote akar dolgozni, majd a 3 hónapos próbaidő végéig egyetlen sor kódot se commitál - viszont kapja a fizetését. Amikor kirúgják, átmegy egy másik céghez...

A frontendeseket jelenleg 4 hónap alatt képzik a Zöld Rókában meg a KódGarázsban. Hogy milyen szinten - nem tudom. 1999-ben írtam az első javascript kódomat, 2010-ben full JS stacken (couchdb + node.js + akkor tán backbone) dolgoztam.

Néha gondolkozom, hogy vissza kéne menni, mert ahogy egy marketinges barátom mondta a szoftverépítész bizniszemről: "Ádám, a te cégeddel az a baj, hogy ti pisilni tanítjátok az embereket. Mindenki azt hiszi hogy tud, oszt mégis le van hugyozva a klotyó" - csak már öreg vagyok hetente fixálgatni a breaking changes-t a hónap menő frameworkjében.

Részben nem egyről beszélünk, gyerek mellett nem az IT recruiter adja a jövőképet, hanem két új kisebb ügyfél. Nem azt mondtam, hogy corporate, IT outsource témában nincs frontend-es igény, azt mondtam, hogy KKV témában (amit meg tud fogni kezdőként, otthonról, másodállásban) népszerűsödnek a sitebuilder szolgáltatások, amik viszont olcsók, és párezer forinttal nem fog tudni versenyezni. Ha kóder akar lenni, és gyerek mellett akarja az asszony felépíteni a karrierjének előzményét, és csak tanulás, nem termelés a cél, akkor hajrá, frontend, kódsulik és jó oktató anyagok vannak neten (youtube-ot felejtsd el, udemy túlárazott, ajánlott: lynda.com, udacity, és van egy rakás másik hup-on ajánlva amiket nem néztem), DE recruiter-eket is megkérdezhetsz, a valós vállalkozói tapasztalat elég nagy villanykörtét rajzol a fejed fölé.

én csak azt látom hogy a frontendes felkapott. Vállalkozóként leginkább az a megoldásunk rá, hogy ha fejlesztéssel keresnek minket akkor azt szétosztjuk nagyjából "igazságosan" a fejlesztési partnereink közt (mi tisztán tervezünk, a fejlesztési partnerek a speckók miatt jönnek vissza és küldik hozzánk az ügyfelet hogy mi fightoljunk, nekik csak gépelni kelljen).

Manapság egyre jellemzőbb hogy a "sima" grafikustól is elvárják a sitebuildet, és azt is látjuk, az ügynökségek outsourcolnak akár otthonülő GYES-es anyukáknak is, annyira nincs elérhető frontendes az országban.

Nyilván érdemes jóban lenni az ügynökségekkel hozzá.

Te csináltad a BKK új jegyrendszerét, ugye?

Tanuld meg a Bootstrap-et vagy a Zurb-öt, szedj fel annyi CSS/HTML tudást ami ennek elfuttatásához nagyon muszáj, frontendben meg angular vagy react, meg úgy egyáltalán a WebComponents logika.

Ezzel már egyszerűbb projekteket le lehet tolni, a backend tudásodra elég lesz a PHP, annak édesmindegy, miben van írva.

Úgy tanulsz meg weboldalakat csinálni, ha kitűzöl valami célt, és addig mész, míg meg nem valósítod. Pld. legyen egy feladat, amit meg kell oldanod. Te választod meg az eszközöket. Csinálj egy webes számológépet, ami a háromszög hiányzó oldalait/szögeit tudja kiszámolni. Bekéred azt a pár minimális adatot a számoláshoz, majd ellenőrzöd, hogy valóban számokat írtak e be a beviteli mezőbe. Számolsz, mutatod az eredményt. Mindezt egyetlen egy fájlal. Legyen mobilon is használható. Tájékoztasson ha hibásan adtam meg valamit. Minden rajtad áll.

Gyere hozzank most eppen fut egy igen sikeres projektunk ha jol emlekszem BKK digitalis jegy neven. Itt eles rendszeren megtanulhatod milyen hibakat nem szabad majd elkovetned ha nem allami megrendelonek dolgozol :D

Apache wicket :)

--
arch,debian,retropie,osmc,android,windows