Iniziare con lo sviluppo Web Fullstack
Al giorno d'oggi, lo sviluppo completo dello stack completo è molto popolare sia nelle piccole agenzie che nelle grandi aziende con un team tecnico dedicato. I tecnici Web di stack completo lavorano su un intero stack Web di tecnologie, inclusi frontend, backend e server management .
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 prendere un'idea dal concepimento al lancio e comprendere appieno ogni fase del processo .
Se stai pensando di seguire l'intero percorso, 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 del design 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 un framework, come Angular o React.
- 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 lo stack LAMP è 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 ancora oltre per includere la conoscenza dell'installazione di server di posta o strumenti di performance, come memcached o Varnish.
Profondità tecnica della conoscenza
Una grande domanda sullo sviluppo completo dello stack è la profondità di ogni area . Un ingegnere addetto allo stack è davvero mai padrone di qualcosa? Alcuni sostengono che è possibile, ma questo potrebbe non essere lo scopo di andare a fare lo stack completo .
La maggior parte delle aziende desidera assumere ingegneri con uno stack completo che hanno un po 'di conoscenza ovunque. Questi ingegneri possono specializzarsi in un'area, ma sono in grado di riempire qualsiasi ruolo quando necessario .
Gli sviluppatori che stanno iniziando questo percorso dovrebbero divertirsi 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 possibilità di creare le proprie 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 di iniziare, basta andare 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 per saperne di più su quel particolare argomento .
Scegliere le lingue
È un po 'un enigma per il nuovo sviluppatore scegliere quali tecnologie apprendere. Togliendo le necessità, HTML e CSS sono assolutamente necessari . Anche JavaScript è una necessità, ma non è necessario considerarsi un master 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 complete.
È possibile immergersi anche in effetti di fantasia JavaScript, 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 si rende conto che Python è un linguaggio più versatile rispetto a PHP, tuttavia la maggior parte dei siti Web viene eseguita su server PHP. Questo rende PHP un linguaggio prezioso per più aziende.
Scegli la lingua che si adatta alle tue esigenze o ti offre le migliori prospettive. Inoltre, tieni presente che non sei bloccato con un solo linguaggio di back-end per sempre . Se si inizia con Ruby ma si passa a Python, non si perde nulla nel processo.Tuttavia raccomando che una volta trovata una lingua di backend che ti piace, approfondisci con quella lingua e acquisisci un framework correlato . PHP ha Laravel, Ruby ha Rails e Python ha Django - tra molte altre opzioni. Questi framework accelereranno il 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. I due più grandi stack Web oggi sono LAMP (Linux-Apache-MySQL-PHP) e MEAN (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 praticamente qualsiasi cosa 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 gli sviluppatori RoR in genere possono funzionare 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 si creano progetti. Prendi un account VPS di base 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, l'elenco sopra riportato non è una tabella di marcia obbligatoria per tutti gli sviluppatori di stack completi.
L'unica conoscenza di cui hai realmente 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 creando 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 abbi sempre voglia di approfondire e migliorare!
Lo sviluppo dello stack completo vale lo sforzo? Questo è per te da decidere. Ma ecco 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)
Google inizierà a penalizzare i siti web per cellulari con fastidiosi pop-up
Gli interstitial pubblicitari possono essere noiosi perché occupano l'intera pagina, restringono l'accesso ai contenuti del sito web e sono dotati di una piccola scatola che dovrebbe chiuderla, ma di solito fa in modo che gli utenti attivino l'annuncio accidentalmente. Fortunatamente, Google ha affermato che inizierà a punire i siti web mobili che implementano tali interstitial come parte del suo perno verso il mercato mobile.A
10 framework PHP per sviluppatori - Il meglio di
PHP, noto come il linguaggio di scripting lato server più famoso al mondo, si è evoluto molto da quando i primi frammenti di codice inline sono stati visualizzati in file HTML statici.Oggigiorno gli sviluppatori hanno bisogno di costruire siti Web e applicazioni web complessi e, al di sopra di un certo livello di complessità , può richiedere troppo tempo e problemi per iniziare sempre da zero, da qui la necessità di un modo di sviluppo più strutturato e naturale. I fr