Hjemmeside » Webdesign » Komme i gang med Fullstack Web Development

    Komme i gang med Fullstack Web Development

    Disse dager, moderne full stabelutvikling er veldig populær i både små byråer og større selskaper med et dedikert teknisk team. Fullstack web-ingeniører jobber på en hel webstabel med teknologier inkludert frontend, backend, og serveradministrasjon.

    Mange argumenterer for at full stabel bare fører til å være en "jack of all trades, master of none". Fra et bestemt synspunkt kan dette være sant, men skillset er bare like viktig som det som kan oppnås med det. Mange fulle stack-devs tilbyr verdi fordi de kan ta en ide fra oppfattelse til lansering, og fullt ut forstå hvert trinn i prosessen.

    Hvis du tenker på går den fullstabile ruten, da er denne artikkelen for deg. Jeg vil forklare de generelle kravene til en fullstabel utvikler, hva rollen innebærer, og hvordan ferdighetene kan være nyttige for frilansere / entreprenører som ønsker å jobbe direkte enten for kunder eller i egne prosjekter.

    Full Stack Fundamentals

    Modern full stack utvikling har kommet langt, da webteknologi har forandret seg mye. Full stak krav bør brukes som retningslinjer for å vurdere å følge. Generelt sett representerer en "stakk" teknologiene som går i fellesskap å lage et nettsted arbeid. Dette betyr frontend kode, backend kode, et databasesystem og en web server plattform + OS for serveren.

    Det grunnleggende prinsippet om full stack utvikling er å forstå alle aspekter ved å bygge et nettsted. Dette betyr ikke kunnskap om design eller UI / UX-arbeid, selv om det i stor grad kan forbedre levedyktigheten og arbeidskvaliteten.

    • Grunnleggende for frontend inkluderer HTML / CSS og JavaScript, mest sannsynlig med a rammeverk, for eksempel kantet eller reagert.
    • For et backend-språk vil du velge noe som kan kobles til et databasesystem. PHP / MySQL er den vanligste og enkleste å lære fordi den driver mange CMS-motorer som WordPress. Også LAMPE Stack er utvilsomt den mest populære webstakken i dag.
    • Server kunnskap kan være så enkelt eller så detaljert som du vil. Den absolutte grunnleggende ville være kunnskap om et serverprogram som Apache kombinert med en database som MySQL eller PostgreSQL.
    • Du kan gå enda lenger for å inkludere kunnskap om å installere e-postservere eller ytelsesverktøy, for eksempel memcached eller Larn.

    En full stakk dev burde dabble i alle tre områder med nok kunnskap til Lansere et nettsted uavhengig, og uten mye hjelp fra noen andre.

    Teknisk dybde

    Et stort spørsmål om full stack utvikling er hvor dypt å gå inn i hvert område. Er en full stakkingeniør virkelig en mester for noe? Noen hevder at det er mulig, men Det kan ikke være hensikten å gå full stakk.

    De fleste selskaper ønsker å ansette fullstack ingeniører som har litt kunnskap overalt. Disse ingeniører kan spesialisere seg i ett område, men de er i stand til å fylle noen rolle når det trengs.

    Devs som nettopp har startet denne banen bør leketøy rundt på alle områder lærer "akkurat nok" for å løse problemer som de oppstår. Dette gir en ekte verdensfortolkning til teknologiene for å se hvordan ulike problemer gjelder for virkelige prosjekter.

    Den største fordelen med fullstabelkoding er evnen til bygge dine egne applikasjoner uten å jobbe for noen andre.

    Hvis du lærer alle stadier av utviklingsprosessen, kan du gjøre alt selv. Du trenger ikke å være en mester i PHP for å bygge en tilpasset Laravel-app. Og du trenger ikke å være en JavaScript-guru for å lage en fleksibel dropdown-navigasjon, spesielt nå at vi har så mye åpen kildekode tilgjengelig på nettet.

    Så hvor dypt skal du gå inn på noen av disse områdene? Dette er helt opp til deg, og svaret ditt vil trolig endres over tid.

    Men når først kommer i gang, bare gå dypt nok til å gjennomføre det du har lært til et virkelig prosjekt. Når du støter på noe du ikke forstår, bruk det som en mulighet til å gå dypere, og lære mer om det aktuelle emnet.

    Velge språk

    Det er litt av en forundring for den nye utvikleren å velge hvilke teknologier som skal læres. Å få fornøydene ut av veien, HTML og CSS er absolutt nødvendig. JavaScript er også en nødvendighet, men du trenger ikke å betrakte deg selv som en JS-mester. Du bør imidlertid være interessert i å lære mer enn bare vanlig JavaScript.

    De fleste devs lærer også jQuery, men rammer som React, Ember, Angular, Vue eller Backbone, alle tilbyr en enklere prosess for å bygge fullskala webapplikasjoner.

    Det er mulig å dykke enda dypere læring fancy JavaScript-effekter, for eksempel animasjoner, men de er helt valgfrie. En full stabelutvikler burde vite akkurat nok for å få jobben gjort, og gå videre derfra.

    Backend språk valg er mindre om teknisk fordel, og mer om komfort. De fleste programmører innser det Python er et mer allsidig språk enn PHP, men de fleste nettsteder kjører på PHP-servere. Dette gjør PHP et verdifullt språk til flere selskaper.

    Velg hvilket språk som passer dine behov, eller gi deg de største mulighetene. Vær også oppmerksom på at du er ikke fast med en backend språk for alltid. Hvis du starter med Ruby, men bytt til Python, mister du ikke noe i prosessen.

    Men jeg anbefaler at når du finner et backend-språk du liker, dypere dypere med det språket, og plukke opp et relatert rammeverk. PHP har Laravel, Ruby har Rails, og Python har Django - blant mange andre alternativer. Disse rammene vil fremskynde utviklingsprosessen, og hjelpe deg med å strukturere applikasjonene dine på riktig måte.

    Databaser og servere

    Å velge en databasemotor kommer ned til prosjektkrav og serverbunke. PHP jobber ofte med MySQL, så det er det mest foretrukne valget. De to største nettstabler i dag er LAMPE (Linux-Apache-MySQL-PHP) og MENER (MongoDB-ExpressJS-AngularJS-node.js).

    De fleste hostingfirmaer tilbyr LAMP fra starten uten oppsett nødvendig. Men tilpassede løsninger som Digital Ocean lar deg kjøre nesten alt med en liten albuefett. Du kan finne flere webstabler på denne listen, eller ved å søke rundt på nettet.

    Din database vil ofte være bundet til ditt backend-språk. Python leveres med SQLite-støtte som standard, og RoR devs kan vanligvis jobbe med noe. Og ærlig talt kan et hvilket som helst språk vanligvis fungere med en hvilken som helst database.

    Men du vil velge noe som er vanlig nok til å bruke i de fleste webprosjekter. SQL er et generelt språk, og bruker det meste det samme syntakset over alle databasemotorer. Du finner forskjeller i tabelloppsett og administrasjon, men disse er vanligvis mindre.

    Utover databaser, her er noen tekniske server-side emner du kanskje vil lære om.

    • CDN og innhold hosting
    • Installasjon av serverprogramvare og oppdateringer
    • Beste server konfigurerer for trafikkspikes og lastetider
    • Caching løsninger for både database spørringer og filsystem lagring
    • Automatiserte sikkerhetskopier av databaser og flate filer, eller diskkopieringskopier
    • HTTPS-oppsett med domeneadministrasjon (DNS-servere, CNAME-poster, etc.)
    • Mer detaljerte emner, for eksempel e-post, microservices og lastbalansering

    En av de beste måtene å lære er tinkering med servere som du bygger prosjekter. Ta en grunnleggende VPS konto, og prøv å sette opp dine egne stabler. Disse VPS er komplette virtuelle server miljøer hvor du har full kontroll for å konfigurere (eller ødelegge) alt. Også listen ovenfor er ikke en nødvendig veikart for alle fullstack-utviklere.

    Den eneste kunnskapen du virkelig trenger er alt som kreves for å opprette et tomt servermiljø, og installere programvaren som trengs for å kjøre et nettsted. Derfra er alt annet bare bedre kunnskap. Hvis du noen gang har spørsmål eller ønsker å lære av fagfolk, sjekk ut Reddit's / r / SysAdmin-fellesskapet.

    Veien fremover

    Hvis du virkelig ønsker å lære full stack utvikling, lage en liste over alle teknologiene du vil lære. Derfra kan du takle dem en-for-en og lage dine egne praksisprosjekter for å teste hva du lærer.

    Webutvikling er en stadig skiftende industri, så du bør alltid være villig til å lære mer. Test forskjellige stabler og språk til du finner det du liker. Men vær alltid villig til å gå dypere og bli bedre!

    Er full stabelutvikling verdt innsatsen? Det er for deg å bestemme. Men her er noen relaterte innlegg som kan hjelpe deg med å finne ut det.

    • På legitimiteten til "full-stack" (Heapsortjobs.com)
    • Så du vil bli en full-stack utvikler (Rubysteps.com)
    • 7 tips om hvordan å bli en fullstabler utvikler (Usersnap.com)