Homepage » Web design » Introduzione a Fullstack Web Development

    Introduzione a Fullstack Web Development

    In questi giorni, moderno sviluppo completo dello stack è molto popolare sia nelle piccole agenzie che nelle grandi aziende con un team tecnico dedicato. Gli ingegneri web di stack completi lavorano su un'intera serie Web di tecnologie incluso frontend, backend, e gestione del server.

    Molte persone sostengono che lo stack completo porta solo ad essere un "jack of all trades, master of none". Da un certo punto di vista questo può essere vero, tuttavia lo skillset è importante tanto quanto ciò che può essere realizzato con esso. Molti sviluppatori di stack completi offrono valore perché possono dare un'idea dal concepimento al lancio, e comprendere appieno ogni fase del processo.

    Se stai pensando andando al percorso completo dello stack, allora questo articolo è per te. Spiegherò i requisiti generali di uno sviluppatore di stack completo, cosa comporta il ruolo e come lo skillset può essere utile per i liberi professionisti / imprenditori che desiderano lavorare direttamente per i clienti o nei propri progetti.

    Full Stack Fundamentals

    Lo sviluppo completo dello stack completo ha fatto molta strada, poiché la tecnologia web è cambiata molto. I requisiti di stack completo dovrebbero essere utilizzati come linee guida per considerare di seguire. In generale uno "stack" rappresenta le tecnologie in esecuzione all'unisono per far funzionare un sito Web. Questo significa codice di frontend, codice di backend, un sistema di database e una piattaforma di server web + OS per il server.

    Il principio base dello sviluppo dello stack completo è comprendere tutti gli aspetti della costruzione di un sito web. Ciò non significa che la conoscenza della progettazione o della UI / UX funzioni, sebbene ciò possa migliorare notevolmente la fattibilità e la qualità del lavoro.

    • I fondamenti del frontend includono HTML / CSS e JavaScript, molto probabilmente con a struttura, come Angolare o Reagire.
    • Per una lingua di back-end ti consigliamo di scegliere qualcosa che può essere accoppiato con un sistema di database. PHP / MySQL è il più comune e più facile da imparare perché alimenta molti motori CMS come WordPress. Anche il LAMPADA stack è innegabilmente lo stack web più popolare oggi.
    • La conoscenza del server potrebbe essere semplice o dettagliata come preferisci. Le basi assolute sarebbero la conoscenza di un programma server come Apache accoppiato con un database come MySQL o PostgreSQL.
    • Potresti andare anche oltre includendo la conoscenza dell'installazione di server di posta o strumenti di performance, come memcached o Varnish.

    Un dev stack completo dovrebbe dilettarsi in tutte e tre le aree con sufficiente conoscenza lanciare un sito web in modo indipendente, e senza molto aiuto da nessun altro.

    Profondità tecnica della conoscenza

    Una grande domanda sullo sviluppo dello stack completo è quanto è profondo andare in ogni area. Un ingegnere addetto allo stack è davvero mai padrone di qualcosa? Alcuni sostengono che è possibile, ma quello non può essere lo scopo di andare allo stack completo.

    La maggior parte delle aziende desidera assumere ingegneri a pieno carico che hanno un po 'di conoscenza ovunque. Questi ingegneri possono specializzarsi in un'area, ma sono in grado di riempire qualsiasi ruolo quando necessario.

    Devs che stanno appena iniziando questo percorso dovrebbero giocare in tutte le aree imparando "appena abbastanza" per risolvere i problemi mentre si presentano. Ciò fornisce un'interpretazione del mondo reale alle tecnologie per vedere come si applicano i diversi problemi ai progetti reali.

    Il più grande vantaggio della codifica dello stack completo è la capacità di crea le tue applicazioni senza lavorare per nessun altro.

    Se impari tutte le fasi del processo di sviluppo, puoi fare tutto da solo. Non è necessario essere padroni di PHP per creare un'app Laravel personalizzata. E non è necessario essere un guru di JavaScript per creare una navigazione dropdown flessibile, soprattutto ora che abbiamo così tanto codice open source disponibile sul web.

    Quindi quanto profondo dovresti entrare in una di queste aree? Questo dipende interamente da te e la tua risposta probabilmente cambierà nel tempo.

    Ma al momento del primo avvio, giusto vai abbastanza in profondità per implementare ciò che hai imparato in un vero progetto. Quando ti imbatti in qualcosa che non capisci, usalo come un'opportunità per andare più a fondo, e saperne di più su quel particolare argomento.

    Scegliere le lingue

    È un po 'un enigma per il nuovo sviluppatore scegliere quali tecnologie apprendere. Togliere le necessità di mezzo, HTML e CSS sono assolutamente necessari. Anche JavaScript è una necessità, ma non devi considerarti un maestro JS. Dovresti comunque essere interessato a saperne di più del semplice JavaScript.

    La maggior parte degli sviluppatori apprende anche jQuery, ma framework come React, Ember, Angular, Vue o Backbone offrono tutti un processo più semplice per la creazione di applicazioni Web su vasta scala.

    È possibile immergersi anche in un apprendimento più profondo effetti JavaScript fantasiosi, come le animazioni, ma sono totalmente opzionali. Uno sviluppatore di stack completo dovrebbe sapere quanto basta per portare a termine il lavoro e andare avanti da lì.

    La scelta del linguaggio di back-end è meno legata al vantaggio tecnico e più al comfort. La maggior parte dei programmatori lo comprende Python è un linguaggio più versatile di PHP, tuttavia la maggior parte dei siti Web viene eseguita su server PHP. Questo fa PHP è un linguaggio prezioso a più aziende.

    Scegli la lingua che si adatta alle tue esigenze o ti offre le migliori prospettive. Ricorda anche questo non sei bloccato con un solo linguaggio di backend per sempre. Se inizi con Ruby ma passi a Python non perdi nulla nel processo.

    Comunque raccomando che una volta trovata una lingua backend che ti piace, approfondisci con quella lingua, e raccogliere un quadro correlato. PHP ha Laravel, Ruby ha Rails e Python ha Django - tra molte altre opzioni. Questi framework accelereranno il tuo processo di sviluppo e ti aiuteranno a strutturare correttamente le tue applicazioni.

    Database e server

    La scelta di un motore di database si riduce ai requisiti del progetto e allo stack del server. PHP spesso funziona con MySQL, quindi questa è la scelta più preferita. Il due più grandi stack web oggi lo sono LAMPADA (Linux-Apache-MySQL-PHP) e SIGNIFICARE (MongoDB-ExpressJS-AngularJS-Node.js).

    La maggior parte delle società di hosting offre LAMP dall'inizio senza alcuna configurazione richiesta. Ma soluzioni personalizzate come Digital Ocean ti permettono di eseguire quasi tutto con un po 'di olio di gomito. È possibile trovare più stack Web in questo elenco o cercando in giro online.

    Il tuo database di scelta sarà spesso legato alla tua lingua di back-end. Python viene fornito con supporto SQLite per impostazione predefinita e RoR gli sviluppatori possono in genere lavorare con qualsiasi cosa. E onestamente, qualsiasi linguaggio può solitamente funzionare con qualsiasi database.

    Ma tu vuoi scegliere qualcosa che è abbastanza comune da usare nella maggior parte dei progetti web. SQL è un linguaggio generale e utilizza principalmente la stessa sintassi su tutti i motori di database. Troverete differenze nella configurazione e amministrazione della tabella, ma queste sono in genere minori.

    Oltre ai database, qui ci sono alcuni argomenti tecnici sul lato server che potresti voler conoscere.

    • CDN e content hosting
    • Installazione e aggiornamenti del software del server
    • Migliori configurazioni del server per i picchi di traffico e i tempi di caricamento
    • Soluzioni di memorizzazione nella cache per query di database e archiviazione di file system
    • Backup automatici di database e file flat o backup di immagini disco
    • Configurazione HTTPS con gestione del dominio (server DNS, record CNAME, ecc.)
    • Argomenti più dettagliati, come e-mail, microservizi e bilanciamento del carico

    Uno dei modi migliori per imparare è armeggiare con i server mentre costruisci progetti. Prendi una base VPS account e prova a configurare i tuoi stack. Questi VPS sono ambienti server virtuali completi in cui hai il pieno controllo per configurare (o distruggere) tutto. Inoltre, la lista sopra non è una tabella di marcia obbligatoria per tutti gli sviluppatori di stack completi.

    L'unica conoscenza di cui hai veramente bisogno è tutto ciò che è necessario per creare un ambiente server vuoto e installare il software necessario per eseguire un sito web. Da lì, tutto il resto è solo una conoscenza migliorata. Se hai domande o vuoi imparare dai professionisti, controlla la community di Reddit / r / SysAdmin.

    La strada davanti

    Se vuoi davvero imparare lo sviluppo completo dello stack, fai un elenco di tutte le tecnologie che vuoi imparare. Da lì, puoi affrontarli uno per uno e creare i tuoi progetti di pratica per testare ciò che impari.

    Lo sviluppo Web è un settore in continua evoluzione, quindi dovresti sempre essere disposto a saperne di più. Prova varie pile e lingue fino a trovare quello che ti piace. Ma essere sempre disposto ad andare più a fondo e migliorare!

    Lo sviluppo completo dello stack vale lo sforzo? Questo è per te da decidere. Ma qui ci sono alcuni post correlati che potrebbero aiutarti a capirlo.

    • Sulla legittimità di "Full-Stack" (Heapsortjobs.com)
    • Quindi vuoi diventare uno sviluppatore full-stack (Rubysteps.com)
    • 7 consigli su come diventare uno sviluppatore full stack (Usersnap.com)
    Articolo precedente
    Iniziare con Boxee