Koduleht » Veebidisain » Fullstacki veebiarenduse alustamine

    Fullstacki veebiarenduse alustamine

    Tänapäeval on kaasaegne täispakkide arendamine on väga populaarne nii väikestes asutustes kui ka suurematel ettevõtetel spetsiaalse tehnilise meeskonnaga. Täielik stack-insenerid töötavad kogu veebipakkide tehnoloogial sealhulgas frontend, backend, ja serveri haldamine.

    Paljud inimesed väidavad, et täispakett viib ainult "kõigi tehingute jack", "ükski meister". Teatud vaatepunktist võib see olla tõsi, kuid oskus on ainult sama oluline kui sellega saavutatav. Paljud täispakid pakuvad väärtust, sest nad saavad idee võtta alates kontseptsioonist kuni käivitamiseni, ja täielikult aru protsessi igas etapis.

    Kui sa mõtled läheb kogu virna marsruudile, siis see artikkel on teie jaoks. Ma selgitan täispakkide arendaja üldnõudeid, milline roll see on ja kuidas oskustöötaja võib olla kasulik vabakutselistele / töövõtjatele, kes soovivad töötada otse kas klientide või oma projektides.

    Täispakkide põhialused

    Kaasaegne täispakkide areng on pika tee, kuna veebitehnoloogia on palju muutunud. Järgnevalt tuleks suuniste kohaselt kasutada täispakkide nõudeid. Üldiselt tähendab "korstnat" ühtseid tehnoloogiaid teha veebisaidi tööd. See tähendab esipaneeli koodi, taustaprogrammi, andmebaasisüsteemi ja veebiserveri platvormi + operatsioonisüsteemi.

    Täispakkide arendamise põhiülesanne on mõista veebilehe ehitamise kõiki aspekte. See ei tähenda teadmisi disaini või UI / UX töö kohta, kuigi see võib oluliselt parandada teie elujõulisust ja töö kvaliteeti.

    • Frontendi põhialuste hulka kuuluvad HTML / CSS ja JavaScript, kõige tõenäolisemalt a raamistik, nagu nurk või reaktsioon.
    • Taustaprogrammi keele jaoks tahad valida midagi, mida saab siduda andmebaasisüsteemiga. PHP / MySQL on kõige levinum ja kõige lihtsam õppida, sest see annab paljudele CMS-mootoritele nagu WordPress. Ka LAMP stack on vaieldamatult kõige populaarsem veebipakk täna.
    • Serveri teadmised võivad olla nii lihtsad või üksikasjalikud kui soovite. Absoluutsed põhitõed oleksid serveriprogrammi tundmine Apache koos andmebaasi nagu MySQL või PostgreSQL.
    • Võid minna veelgi kaugemale, et hõlmata teadmisi postiserverite või jõudlusvahendite (nt memcached või Varnish) installimise kohta.

    Täielik stack dev peaks kõigis kolmes piirkonnas piisavalt teadmisi andma käivitada veebileht iseseisvalt, ja ilma kellegi teise abita.

    Tehniline teadmiste sügavus

    Suur küsimus täispakkide arendamise kohta on kui sügavale minna igasse piirkonda. Kas täispeki insener on tõesti kunagi midagi meistrit? Mõned väidavad, et see on võimalik, kuid see ei pruugi olla täispeeni pidamise eesmärk.

    Enamik ettevõtteid tahab palgata täispeeni insenerid, kellel on kõikjal veidi teadmisi. Need insenerid võivad spetsialiseeruda ühele valdkonnale, kuid nad saavad vajaduse korral täita mis tahes rolli.

    Devid, kes just seda teed alustavad, peaksid mängige kõigis piirkondades mängu, et õppida "lihtsalt piisavalt" probleemide lahendamiseks. See annab tehnoloogiale reaalse maailma tõlgenduse, et näha, kuidas tegelikud projektid erinevad probleemid.

    Täispakkide kodeerimise suurim kasu on võime ehitada oma rakendusi töötamata kellelegi teisele.

    Kui õpid iga arenguprotsessi etappi, siis saate teha kõike ise. Kohandatud Laravel rakenduse loomiseks ei pea te olema PHP kapten. Ja sa ei pea olema JavaScript guru, et luua paindlik rippmenüü, eriti nüüd, kui meil on veebis nii palju avatud lähtekoodi.

    Niisiis, kui sügavalt peaksite nendesse valdkondadesse minema? See on teie enda otsustada ja teie vastus tõenäoliselt aja jooksul muutub.

    Aga kõigepealt alustades minna piisavalt sügavale, et realiseerida reaalsesse projekti. Kui sattute midagi, mida sa ei mõista, kasutada seda võimalust, et minna sügavamale, ja Lisateavet selle konkreetse teema kohta.

    Keelte valimine

    Uue arendaja jaoks on see mõttekas valida, milliseid tehnoloogiaid õppida. Vajaduste kõrvaldamine teelt, HTML ja CSS on absoluutselt vajalikud. JavaScript on samuti vajalik, aga sa ei pea ennast JS-i kapteniks pidama. Siiski peaksite olema huvitatud rohkem kui lihtsalt JavaScripti kohta.

    Enamik neist õpivad ka jQueryt, kuid kõik sellised raamistikud nagu React, Ember, Angular, Vue või Backbone pakuvad lihtsamat protsessi täismõõduliste veebirakenduste loomiseks.

    On võimalik sukelduda veelgi sügavamale õppimisele väljamõeldud JavaScript-efektid, nagu animatsioonid, kuid nad on täiesti vabatahtlikud. Täispakkide arendaja peaks teadma just piisavalt, et tööd teha ja sealt edasi liikuda.

    Keelevalik on vähem tehnilise eelise ja mugavuse poolest. Enamik programmeerijaid seda mõistavad Python on mitmekülgsem keel kui PHP, kuid enamik veebisaite töötab PHP serverites. See teeb PHP on väärtuslik keel rohkem ettevõtteid.

    Valige, milline keel sobib teie vajadustele või pakub suurimaid väljavaateid. Samuti pidage meeles seda sa ei ole ummikus ühe taustaprogrammiga. Kui alustate Ruby'ga, kuid lülitad Pythoni juurde, ei kaota sa selles protsessis midagi.

    Kuid ma soovitan, et kui olete leidnud teile vajaliku taustaprogrammi keele, heidke seda keelt sügavamale ja sellega seotud raamistik. PHP-l on Laravel, Ruby on Rails ja Pythonil on Django - paljude teiste võimaluste hulgas. Need raamistikud kiirendavad teie arendusprotsessi ja aitavad teil oma rakendusi nõuetekohaselt struktureerida.

    Andmebaasid ja serverid

    Andmebaasi mootori valimine langeb projekti nõuetele ja serveri virnale. PHP töötab sageli MySQL-iga, nii et see on kõige eelistatavam valik. The kaks suurimat veebipakki täna on LAMP (Linux-Apache-MySQL-PHP) ja MEAN (MongoDB-ExpressJS-AngularJS-Node.js).

    Enamik hosting firmad pakuvad LAMP algusest peale ilma setup vaja. Kuid kohandatud lahendused, nagu Digital Ocean, võimaldavad teil peaaegu igasuguse käiguga natuke küünarnukiga. Sellest loendist leiate rohkem veebikanaleid või otsite võrgus.

    Teie valitud andmebaas on sageli seotud teie taustaprogrammiga. Pythonil on vaikimisi SQLite tugi ja RoR Devs võib tavaliselt midagi teha. Ja ausalt öeldes võib iga keel tavaliselt töötada mis tahes andmebaasiga.

    Aga soovite valida midagi, mis on piisavalt levinud, et seda enamikus veebiprojektides kasutada. SQL on üldkeel ja kasutab enamasti sama süntaksit kõigis andmebaasi mootorites. Leiad erinevused tabeli seadistamisel ja haldamisel, kuid need on tavaliselt väikesed.

    Lisaks andmebaasidele on siin mõned tehnilised serveripoolsed teemad, millest võiksite teada saada.

    • CDN-id ja sisu hosting
    • Serveritarkvara installimine ja uuendamine
    • Parimad serveri konfiguratsioonid liikluse naelu ja laadimisaegade jaoks
    • Caching lahendused nii andmebaasi päringute kui ka failisüsteemi salvestamise jaoks
    • Andmebaaside ja lamefailide või ketta kujutiste varukoopiate automatiseeritud varukoopiad
    • HTTPS-i seadistamine domeenihaldusega (DNS-serverid, CNAME-kirjed jne)
    • Üksikasjalikumad teemad, nagu e-post, mikroserverid ja koormuse tasakaalustamine

    Üks parimaid võimalusi õppida on serveerimine kui ehitate projekte. Haara põhi VPS konto ja proovige luua oma korstnad. Need VPS-id on täielikud virtuaalserverikeskkonnad, kus teil on täielik kontroll, et seadistada (või hävitada) kõike. Ülaltoodud loend ei ole ka kõigi täispakkide arendajate jaoks vajalik teekaart.

    Ainus teadmine, mida sa tõesti vajavad mis on vajalik tühja serverikeskkonna loomiseks ja veebisaidi käitamiseks vajaliku tarkvara installimiseks. Sealt on kõik muu lihtsalt teadmised. Kui teil on küsimusi või soovite professionaalidelt õppida, vaadake Redditi / r / SysAdmini kogukonda.

    Tee ees

    Kui sa tõesti tahad õppida täispakkide arendamist, koostage nimekiri kõigist tehnoloogiatest, mida soovite õppida. Sealt saate neid ükshaaval lahendada, moodustades oma praktika projektid, et testida, mida sa õpid.

    Veebiarendus on pidevalt muutuv tööstus, nii et te peaksite alati valmis rohkem teada saama. Testige erinevaid korstnat ja keeli, kuni leiate, mida soovite. Kuid olge alati valmis minema sügavamale ja paremaks!

    Kas täispakkide arendamine on vaeva väärt? See on sinu otsustada. Kuid siin on mõned seotud ametikohad, mis võivad aidata teil seda välja mõelda.

    • "Täispakkide" legitiimsusest (heapsortjobs.com)
    • Nii et sa tahad saada täispekki arendajaks (rubysteps.com)
    • 7 näpunäiteid, kuidas saada täispakkide arendajaks (usersnap.com)