Mit érdemes elkezdeni tanulni frontend-ben? Angular / VUE / React trió.
2021-09-18T08:07:27+02:00
2021-09-19T20:31:46+02:00
2022-07-20T08:42:16+02:00
  • Köszi a sok hasznos infót, úgy érzem, hogy holnap a React-ot elő kell vennem, nem fogom megúszni :D Aztán gyanítom nekem kell dönteni :)
    Mutasd a teljes hozzászólást!
  • A react mellett azt tudom felhozni, hogy nem csak hobbi projekteknél használom / használtam, hanem nagy terhelésű interakció intenzív web applikációknál is.
    Ha megvan a build system ami kb ennyi: parcel bundler ( + pipeline operator ) , akkor rém gyors vele fejleszteni:

    yarn yarn start

    és már indul is a watch ... amint módosítod a forrást, egyből fordul a script és újratöltődik a browser.
    Fél képernyő kód, fél képrnyő eredmény.

    Ugyanez a build jó tényleg sima html-hez is, elég a react függőséget kiszedni:

    yarn remove react react-dom

    Amúgy a parcel no config bundler, szóval ha például egy typescript részletet építünk bele a kódba, akkor autómatikusan le fogja tölteni a függőségeket, szóval elég könnyen használható.
    Mutasd a teljes hozzászólást!
  • És, hogy a kérdésedre is válaszoljak, nálunk a laraveles backendbe van ágyazva a vue fe, de nem igazán szeretjük, jobb lenne két teljesen elkülönülő app ami csak rest apin kommunikál. (igen, nálunk külön csapat dolgozik a backenden és a frontenden) 

    Szerintem, ha már új technológiába nyalsz bele, érdemes követni a mai trendet, hogy szétválasztják az app két részét, ha az egyiket cserélik, a másikat nem kell átirni. De ezt úgyis tr fogod eldönteni, szerintem több tapasztalatod van nálam. 

    Fejlesztési szemszögből én azért szeretem az angulart, mert teljes mvc és nem kell mindent megírni, a vue mvvm és sokkal kevesebb toolt ad alapból. Mondjuk ezt előnyének is szokták felhozni, de amit eddig én tapasztalatam, hogy pl angularnal elég beállítani az app alapjait telepítéskor és egy csomó funkció működik (babeles, webpackes konfigokra célzok), mint vuenál pont a laravel mix miatt rengeteg plusz szívás van, hogy működjenek a path resolvok, a prettier, stb stb, sok npm para van, meg az ide sem feltétlenül érti, ami fölöslegesen lassít minket. De ez nyilván egy tapasztalt fejlesztő számára sokkal kisebb gáz.
    Mutasd a teljes hozzászólást!
  • Hát igen, ez lenne az ideális, én is valamilyen szinten ezt csináltam az angular / Vue vonalon, de olyan mélységig ahogy kéne nagyon nagy energia lenne lemenni.

    Ez igaz, sok idő és energia mindhárom vonalon végigmenni, és legalább alapszinten kipróbálni őket. Viszont nézd meg, itt az általad nyitott topic-ban is ahány fejlesztő, annyiféle ötlet, észrevétel, és szubjektív vélemény. Aztán, hogy kinek fogadja meg az ember a tanácsát, vagy egyszerűen kinek hisz, azt szabadon eldöntheti, de egy éles üzleti alkalmazás implementálása előtt, eléggé kockázatos vállalkozás másokra hallgatni. Például egy induló "zöldmezős" projektben éppen a technológiai irányvonalak kiválasztására kell tanácsod adni, akkor mit lehet tenni úgy, ha nincs meg legalább egy alapszintű gyakorlati tudás? Feltúrod az internetet (akár ezt a topic-ot is :)), aztán ha már egymástól két független helyen is közel azonosat olvasol, akkor azt veszed a szent írásnak, és azt az irányt fogod képviselni. Szerintem ezek miatt is érdemes belevágni a demo-zásba, az objektív szemlélet nem alakulhat ki másképpen.

    Viszont ahogy kinéznek a dolgok, az látszik, hogy mindhárom UI technológia vonal modernnek, elfogadottnak, és életképesnek tűnik, ezért hosszútávon lehet rájuk alapozni. Ilyen feltételek mellett pedig megérheti rászánni az időt, később sokat lehet nyerni már azzal is, ha nem is minden részletében, de a főbb tematikai és strukturális elemeit ismeri az ember.

    Egyébként én is úgy látom, hogy Magyarországon a Vue nem olyan népszerű, a leghasználtabb a React, aztán az Angular. Még egy olyan észrevételem is volt néhány hónapja - bár lehet, hogy csak éppen így jött ki a statisztika, hogy a React-ot főleg a PHP-sok és a NodeJS-sek használják, az Angular inkább a Java / .NET vonalat erősíti.
    Mutasd a teljes hozzászólást!
  • Mutasd a teljes hozzászólást!
  • A VUE semmi olyat nem tud adni, amit a másik kettő ne tudna (szerintem). A másik kettő pedig nem rossz, hogy lenne motiváció VUE-ra váltani. Ráadásul React mögött sokkal-sokkal nagyobb a community.
    Mutasd a teljes hozzászólást!
  • Szia.
    Front-end-det érdemes én is le tetem weboldal fejlesztés meg weboldal csinàlàs kivéve az adatbàzis ami menti az email telefonszàmot stb ... az màr back-end fejlesztöi érdemes az alapoknál kezdeni.
    Mutasd a teljes hozzászólást!
  • Úgy látom, összességében nincs jó választás, bár a többség mintha a React irányába menne, persze ez lehet egyszerűen csak a szombaton ráérők halmazának köszönhető is :)
    Az viszont jó, hogy igazából egyik mellett se hangzott el "került messze, mint a tüzet" érv, bár a Vue-ről talán több az a vélemény amit magam is tapasztaltam, hogy jóval kevéssé keresett, mint a másik kettő.
    Persze az is nagyon nehéz, hogy az ember épp olyan tudással rendelkezzen ami kell, hiszen olyan nagy a paletta és annyi a varációs lehetőség, hogy ennek az esélye pici. Legalábbis ha a néha szembejövő álláshírdetéseket nézem, van ott minden, gondolom valamikor valaki valami alapján valamit bevezetettt, aztán tolja maga előtt a megrendelő - tetszik vagy sem.

    Egyébként épp ezt akarnám elkerülni, ha véletlen én kikerülök a képből, akkor is valami olyan rendszert hátrahagyni, amihez nem lepkehálóval kell szakértőt kergetni, vagy ha túlnő rajtam a feladat, találjunk plusz embert és ne kelljen a kályhától megtanulnia az alapokat.
    Mutasd a teljes hozzászólást!
  • ha betamax parád van, akkor nézd meg mit használ a pornhub:)
    Mutasd a teljes hozzászólást!
  • Én Angularral kezdtem, mert azt mondták, az a legnehezebb. Nagyon szerettem, mert elkülönül a ts, html, css, érthető, letisztult. 
    Viszont kezd "kimenni a divatból", itthon épp a react megy nagyon, az viszont számomra nem vokt vonzó és a munkahelyemen a Vue-t forszírozták, mert azt a leggyorsabb megtanulni, az a "legújabb" és elég nagy community áll mögötte. Viszont mi nem TS-sel, hanem JS-sel használjuk és így számomra kicsit zavaróbb, jobban el lehet veszni a kódban, eleinte nagyon nem tetszett, hogy ugyanabban a fájlban van a html template, a js és a css, ráadásul számomra logikátlan és buta volt az Angular után.

    Itthon nem nagyon tudok róla, hogy kifejezetten keresett lenne a vue, bár vannak cégek, ahol szeretik, én abból indulnék ki, hogy azt érdemes tanulni, amit a legtöbb helyen kérnek. És ez jelenleg egyértelműen a React.
    Mutasd a teljes hozzászólást!
  • Az mindegy szerintem, hogy TS-ről átfordul JS-re és azt kevésbé lehet felismerni, mert van obfuszkáló módja a js csomagolóknak. 

    Azért írják view librarynek, mert sokminden alapból hiányzik belőle, mint pl. a routing. De react köré épült egy ekoszisztéma, ahol nagyon sokmindent meg lehet találni. 

    De egy teljes frameworknek nevezhető a Next.js, ami react és még plusz dolgok benne.
    Mutasd a teljes hozzászólást!
  • Én anno úgy döntöttem, hogy mindhárom UI megoldással készítek egy-egy demo projektet, amelyek főleg az egyes megoldások feltérképezésére szolgálnak. 

    Hát igen, ez lenne az ideális, én is valamilyen szinten ezt csináltam az angular / Vue vonalon, de olyan mélységig ahogy kéne nagyon nagy energia lenne lemenni. Viszont sok yt videót néztem, ahol legalább láttam, hogy mik a lehetőségek (nagyjából). Nem ugyanaz, de igyekeztem képet kialakítani.

    ha generálsz egy Angular-os projektet, és semmit sem írtál még bele, akkor is kb. 360MB körül mozog, a node_modul könyvtár pedig 51 ezer letöltött állományból áll

    Ez  sajnos manapság az el kell fogadni kategória. Szinte minden fejlesztés úgy kezdődik, hogy composer / npm és felpakolsz egy iszonyú ballasztot. De ugyanez van PC fronton is, manapság egy játék 50 giga alatt szinte csak demó, a fejlesztői környezetéről meg ne beszéljünk, ott repkednek a terrák szerintem.
    Mutasd a teljes hozzászólást!
  • Typescript az még arra is jó, hogy az IDE segít abban, hogy hova milyen típusú dolgokat vár az adott dolog. Meg ugye fordításkor a typescheckinggel hibákat lehet elkapni...
    Szerintem mindenféleképpen előnyös. A legtöbb helyen már Reactban is typescriptet használnak inkább, így vettem észre.

    Magában az angulárban nekem a sok boilerplate nem tetszik, meg hogy mindent a modulokba bekell kötni, aztán ha valamit elfelejtesz, akkor jobb esetben direktbe megmondja a fordító, hogy mi a baj. Ellenben a reactban létrehozol egy komponenst és csak beimportálod ott, ahol használni szeretnéd.
    Mutasd a teljes hozzászólást!
  • Igen, az ES5-6 lesz az első lépés mindenképp, mert rengeteg olyan dolgot hoztak, amire csak vakartam a fejem első alkalommal, hogy ez meg banyek mi a túró?
    Mutasd a teljes hozzászólást!
  • Angular vagy React vagy VUE, és miért?!

    Én anno úgy döntöttem, hogy mindhárom UI megoldással készítek egy-egy demo projektet, amelyek főleg az egyes megoldások feltérképezésére szolgálnak. Szerintem csak így lehet felépíteni egy objektív képet, csak így tudod meg, hogy pontosan mik az előnyök, és mik a hátrányok az egyes keretrendszerek esetében. Persze az embernek ebbe bele kell ölnie az idejét, és az energiáját, de azt gondolom, hogy megéri, főleg ha hosszabb távra lehet egy-egy technológiával tervezni, és jelen állás szerint azt gondolom, hogy a frontend-es megoldásokat az elkövetkezendő időkben ez a három technológia fogja - elsődlegesen - meghatározni. Az, hogy mikor melyiket kell alkalmazni, már projekt és csapat függő, de nem árt, ha valakinek legalább alapszinten mindháromban van gyakorlata.

    Nálam mindhárom esetben Java (Spring Boot) volt / lesz a backend, egyenlőre csak az Angular-ról tudok nyilatkozni, mert abban már korábbi demo mellett több üzleti projektet is fejlesztek. A következő a Vue, ott egy demo-nál tartok, annak is az elején. (Ahogy időm engedi, de ezzel még "élesben" nem kellett dolgoznom.)

    Meglátásom szerint az Angular-nak két hátránya van:
    1. A Typescript. Nagyon jó, hogy van, ad egyfajta OOP struktúrát a javascript-nek, ami fejlesztői szempontból átlátható, és - nekem, mint java fejlesztőnek - ad egyfajta azonos szintaktikai struktúrát a BE és FE kódbázisban, de magára a felület fejlesztésre szerintem egy teljesen feleslegesen bevezetett szint. Egyszerű natív JS-ben is lehet átlátható, strukturált kódot - mondjuk moduláris felépítésben - írni. Az, akinek a C alapú nyelvektől eltérő OOP kódszintaktikát kellett az elmúlt években megszoknia, azoknak ez csak egy plusz overhead a tanulási görbéjükben. Nekem személy szerint nincs vele bajom, de magára, az UI fejlesztésre szerintem simán elég lehetne a natív JS kód is.
    2. A project struktúra. Első körben, ha generálsz egy Angular-os projektet, és semmit sem írtál még bele, akkor is kb. 360MB körül mozog, a node_modul könyvtár pedig 51 ezer letöltött állományból áll. Biztos vagyok benne, hogy alapértelmezetten nem kell mind, és csak feleslegesen foglalják a helyet.

    A fentiektől eltekintve, nagyon jó UI keretrendszer, könnyen fejleszthető, átlátható, jól működik benne a routing, alapból kezeli a sass-t, a komponens alapú megközelítés pedig kimondottan előremutató. VS Code-t használok - igaz, minden más lightweight-os web-es fejlesztésre azt - erősen támogatja, szóval ez a része tetszik.

    A Vue-ról, és a React-ról majd akkor írok, ha már elértem bennük valami kézzel foghatót. :)
    Mutasd a teljes hozzászólást!
  • Mivel pont az ES6-os js-t nem ismered azért azt érdemes igen-csak megismerni, mielőtt bonyolítanád az életedet a TS-el. Amúgy a reactot is kénytelen vagy fordítani, mivel ott JSX-et írsz, szóval lesz egy bundler ami szépen összepakolja a kódot és akár minify-olja is. Ugyanúgy olvashatatlan lesz, ha csak nem teszed mellé a .map-et. Szóval ott se fogja a kódot olvasni. A reactal egy csomó single page application-t csináltam, PWA-t is, ha mobil volt a target. Igen lehet írni, hogy View library és tényleg light-weight, de mindent meg lehet csinálni vele. Az erőssége a state kezelés és a komponensekből felépíthető oldalak.
    Mutasd a teljes hozzászólást!
  • Az álláskeresés közben szintén sok cégnél szembe jött, hogy ők Vue.js-sel dolgoznak.

    OFF: Én sosem találkoztam ezzel a szituációval, sem LinkedIn, sem Stackoverflow Jobs, sem Monster.de. Én úgy veszem észre, hogy kifejezetten alacsony a használata. Én pont ezért dobtam el a VueJS-t, de ha tudnál forrást adni, hogy te hol láttad hogy tényleg sok cég keresi, annak örülnék.
    Mutasd a teljes hozzászólást!
  • A TS ellen nincs akkora ellenállásom, mivel én az ES5 előtti JS-t ismerem, ígyis-úgyis sok mindent kell felszívni még egy ES6 szintig is, akkor meg már a TS nem sokat "ront" a helyzeten :) Egyébként is ahogy néztem leginkább megtámogatja a JS-t, pl. típusellenőrzéssel, nem akkora "truváj". Viszont ami előnye, hogy az ügyfél+kliens nem egy szépen formázott, kommentezett JS kódot kap, hanem a TS által fordított, kevéssé olvasható lefordított kódot, kevésbé esélyes a belematatás, vagy legalábbis nem könnyíti meg a helyzetet. Illetve dönthetek úgy, hogy régebbi JS-t támogatok de használni akarom az újabbak megoldásait, ezt a TS szépen visszafordítja, ha natív JS írom, ott ugye az a verzió amiben írtam. Szóval szinte akkor is előny a TS ha amúgy kikapcsolom pl. a strict módot stb és kvázi JS-ként használom.

    Viszont ha SPA akkor miért React? Pont arra írják, hogy az elsősorban View Library, nem teljes framework. Persze lehet SPA-ra is használni, de ugye nem arra van kihegyezve (ha jól vettem ki).
    Mutasd a teljes hozzászólást!
  • Ez jó hír, én tényleg azt látom, hogy vue-ra alig van találat, de persze lehet tök rossz helyen keresgéltem :) Nyilván kizárólag netes források alapján próbáltam informálódni, de ezekből nekem elég átgondolt, a többi rendszer hibáiból tanuló megoldásnak tűnik. Tényleg a legnagyobb félelmem a VUE-val az ,hogy réteg nyelv és kb. sehol nem lehet vele semmit kezdeni. De ha ezt máshogy tapasztalod, az tényleg jó hír.
    Mutasd a teljes hozzászólást!
  • Ha a FE fejlesztéssel komolyabban meg akarsz ismerkedni, akkor inkább az SPA irányt tudnám javasolni, mert akkor nem kell keverni a BE és a FE részt és az nagy előny. Valamint amikor a FE részen dolgozol, akkor jobban tudsz majd koncentrálni a FE problémákra, amik főleg az egyedi interakciós megoldásoknál jönnek elő. Framework-ök közül talán azért a react-ot mert azt lehet funkcionális elvek mentén programozni. A state kezelése a leg letisztultabb ( egy irányú ), illetve csak javascriptet kell használni, nem kell megismerni a typescriptet mint az Angular-nál illetve nincs egy plusz template megoldás, mint a Vue esetében. Így elég a js-re fókuszálni. Persze a react tanulási görbéje nem egyszerű, ha fontos a kis kódméret, akkor ott az https://github.com/yisar/fre
    Mutasd a teljes hozzászólást!
  • Szia,
    Én most egy sokfős német multinál dolgozok, ahol a termékek életciklusa kb 20-30 év. Most jönnek ki az újgenerációs termékkel, ahol a frontendnek Vue.js az alapja.
    Az álláskeresés közben szintén sok cégnél szembe jött, hogy ők Vue.js-sel dolgoznak.
    Szerintem nyugodtan használd.

    Egyébként meg ha megtanulsz egy keretrendszert, a második már sokkal könnyebb.

    Egyébként én SPA-t ajánlok, de attól még a model a szerveren van, csak valami API-val eléri a kliens.
    Mutasd a teljes hozzászólást!
  • Egy új rendszer fejlesztését kezdeném, és ilyenkor szeretek új dolgokat tanulni, friss tudással bővíteni a repertoárt, mert véleményem szerint az a legjobb módja a tanulásnak, ha motivál egy feladat elvégzése. Én főleg BE fejlesztő vagyok, netes fronton PHP nyelven.

    A BE az PHP marad, egyszerűen mert azt ismerem, erre bármelyik akár sima tárhely szerveren van rögtön támogatás: Ezen belül vagy Symfony vagy Laravel framework, csak hogy BE fronton is legyen "vérfrissítés", még nem döntöttem a kettő között. Eddig egyébként Yii-t használtam, de a piacképesség terén a Symfony / Laravel jobb választásnak tűnik.     Na de ez offtopic volt.

    A frontend viszont nagyon nagy kérdés számomra, rögtön az alap már kérdéses: SPA vagy sem?
    Négy lehetőséget látok:
    1) PHP template + JS library pipmpelés ahol kell. A library ezeseben lehetne akár JQuery, vagy a trióból a VUE és a React. Ennek -szerintem- előnye, hogy a kód nem PHP alapú része mögötti logika is jórészt PHP alapon maradhat. Tudom szabályozni, hogy eleve el se jut a kliens oldalra olyan tartalom, amihez pl. nincs jogosultsága, hiszen szerver oldalról ki se kerül. De ugye ez a régi iskola, szerver oldali renderelés tehát adatmozgás, stb. Sok előnye van a FE teljes leválasztásának, akár mert ha plusz ember be kell vonni, ő foglalkozhat csak azzal, ha módosítani kell is talán egyszerűbb - bár ugye a PHP frameworkök is szépen elkülönítik a View ágat, szóval ez se annyira kritikus.

    2) SPA. Ennek nyilvánvaló előnye a kliens oldali gyorsaság, a felhasználói élmény jobb és hogy a kód teljesen szeparált a BE-től. Mondjuk ha mobil felület felmerül, sokkal egyszerűbb az élet. Viszont engem kicsit zavar, hogy kliens oldalon van a teljes MVC, oké, lehet ott is persze szabályozni, hogy tényleg csak a megjelenítés van letárolva és még a menük tartalma is BE oldalról jön. MEg persze azért nem egyszerű belenyúlni egy Angulat TS-ről fordított JS-be, de azért csak ott van a kisördög. Emellett hátránya, hogy a kód jelentős része átkerül a JS (TS) oldalra, szóval zenebohócot kell játszani, ami persze szép kihívás de épp bosszantó is, amikor a szintaxisok erdejében eltéved az ember (tudom, FE és BE két külön ember inkább csapat, de ezt engedjük most el).

    Ahogy én látom , a VUE a legszimatikusabb, mert ötvözi a két irányt. Tud csak Libraryként működni, a Symfony és Laravel is támogatja ezt a módszert. De ha végül SPA irány nyer, azt is támogatja, kvázi menet közben is átállhatok rá.  Sok okosság van benne pl. a virtual DOM kezelés terén. Hátránya, hogy én úgy látom kevésbé ismert, kedvelt a piacon, nem mintha terveznék elmenni bárhova dolgozni de ettől még jó lenne nem a betamax hibájába esni (fiatalabbak kedvéért: jobb volt mindenben a VHS-nél, mégis utóbbi lett a népszerű), és egy eleve "halálra ítélt" tudást felszedni tök feleslegesen beleölt energiák árán.

    A React esetében is van lehetőség csak rész feladatokra használni, de a vue pl. tanulásbarátabb, template alapú ami szerintem előny. Viszont a népszerűségi lista élén van, van lehetőség mobil irányba lépni, és ugye itt is játszik, hogy ha akarom aránylag kevés kód menne át PHP alól.

    Az Angular full SPA, ennek minden előnyével és esetleges hátrányával - lásd fent kiveséztem. Emellett a népszerűsége a netes statok szerint csökken.

    Szóval ez a nagy társalgós téma, érdekelne a véleményetek. Ha most teljesen tiszta lappal indulhat az ember, milyen irányt erőltetnél, és miért, pro - kontra?  Szeretném most leszögezni, hogy nem szeretnék belemenni a "sz*r a PHP" és a "felejtsd el az egy személyes fullstack" vitákba, maradjunk a témánál. 

    Angular vagy React vagy VUE, és miért?! Ez a kérdés. Köszönöm a megértést és az esetleges segítséget!
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd