Technologie Gadgets, SEO Tipps, Geld Verdienen mit WEB!

DreamHost intervista il membro del Core Team di Laravel G…

DreamHost intervista il membro del Core Team di Laravel G...

Dal Regno Unito, Graham Campbell è il fondatore di StyleCI, Graham è un membro del Laravel Core Team e fornisce anche servizi di consulenza/ingegneria software a molti clienti con sede nel Regno Unito e negli Stati Uniti. Graham è anche famoso per il suo lavoro open source nella comunità Laravel.

Shahzeb: Ciao, Graham. Grazie per aver dedicato del tempo per questa intervista. Prima di iniziare, potresti raccontarci qualcosa di te in modo che i nostri lettori possano conoscerti meglio?

Graham: Grazie per avermi invitato a questa intervista. Sono un architetto e ingegnere del software con sede nel Regno Unito. Le persone potrebbero conoscermi per il mio lavoro open source nella comunità PHP. Lavoro a tempo pieno per la mia azienda, lavorando sul prodotto SaaS StyleCI e fornendo anche servizi di consulenza/ingegneria software a clienti con sede principalmente nel Regno Unito e negli Stati Uniti. Ovviamente anch’io passo molto tempo a lavorare sull’open source. Anche se le cose possono essere difficili da bilanciare!

Shahzeb: Potresti gentilmente condividere il tuo viaggio con Laravel finora? Qualche esperienza riconoscibile della tua carriera che trovi interessante e che vorresti condividere con il nostro pubblico? Ti piacerebbe parlare ai nostri lettori di alcuni dei migliori progetti Laravel su cui hai lavorato?

Graham: Ho scoperto Laravel per la prima volta cercando su Google un framework PHP all’inizio del 2013. Laravel 4 stava per essere rilasciato, gettando le basi del Laravel che tutti conosciamo e amiamo oggi.

Una delle prime cose che ho fatto è stata provare a costruire un CMS di base usando Laravel, che è diventato piuttosto popolare (relativamente parlando!). L’ho concesso in licenza con una licenza AGPL in modo che la base di codice potesse essere utilizzata principalmente come risorsa di apprendimento. È mentre facevo questo che ho iniziato a creare vari pacchetti Laravel e sono stato coinvolto nel contribuire al nucleo del framework. È sempre bello avere in mente un caso d’uso specifico per guidare lo sviluppo di pacchetti e framework, piuttosto che un progetto immaginario astratto.

Ora mantengo o co-manutengo molti progetti OSS, in più di 20 organizzazioni. Alcuni anni fa, ho assunto la gestione esclusiva del progetto phpdotenv, il parser di file .env utilizzato da Laravel. Tobias Nyholm e ora sono co-manutentore del molto popolare Guzzle client HTTP, e recentemente ha salvato la libreria PHP Faker abbandonata ma popolare, reclutando un nuovo team principale composto da un misto di manutentori OSS di lunga data e ingegneri di talento, nuovi all’open source. È piuttosto interessante vedere guzzlehttp superare il miliardo di download in tutta l’organizzazione e phpdotenv sta superando i 200 milioni di download.

Shahzeb: Parlando specificatamente di Laravel, quali sono state le maggiori sfide che hai dovuto affrontare all’inizio della tua carriera e come le hai affrontate?

Graham: Come spesso accade con l’open source, il tempo di un manutentore viene sempre più dedicato alla manutenzione, alla revisione delle PR e alla gestione dell’issue tracker. Questo è qualcosa in cui sono stato molto coinvolto nei primi giorni di Laravel. La gestione di un tracker dei problemi non è davvero uno scherzo e per me ha rappresentato una forte curva di apprendimento. Grazie al senso degli affari di Taylor e allo sviluppo di Forge come SaaS a pagamento, non passò molto tempo prima che Laravel fosse in grado di assumere Dries Vints a tempo pieno, che fu in grado di fare un lavoro molto migliore di me nella gestione del tracker dei problemi. Da allora Taylor e i dipendenti di Laravel hanno lanciato più prodotti a pagamento e fatto crescere il business in modo che Laravel abbia un futuro brillante davanti a sé, con un team centrale forte e una comunità probabilmente ancora più forte.

Shahzeb: Sei il fondatore di StyleCI. Quali servizi offri a StyleCI e cosa ti ha motivato alla creazione di StyleCI? Lavori anche come consulente software. Puoi dirci qualcosa in più anche a riguardo?

Graham: StileCI è stato creato dalla necessità di applicare automaticamente una formattazione di stile di codice coerente in molti progetti open source, inclusi i pacchetti Laravel con spazio dei nomi nel mio account GitHub personale e il repository Laravel/framework. L’eliminazione della necessità di installare e mantenere aggiornati gli strumenti e di documentare come utilizzarli ha eliminato un’enorme barriera che contribuiva, consentendoci di automatizzare l’applicazione delle correzioni allo stile del codice al momento della fusione delle PR. StyleCI applica automaticamente le sue correzioni quando il PR viene unito!

StyleCI è iniziato solo come PHP 5, supportando solo repository github.com open source. Una volta che le cose hanno iniziato a prendere piede, è stato introdotto il supporto a pagamento per i repository privati ​​github.com, seguito dal supporto per PHP 7, supporto per gitlab.com e bitbucket.org, supporto per CSS, SCSS, Javascript, Typescript, React, Vue e Python, uno strumento CLI per attivare analisi StyleCI del codice locale, supporto per PHP 8.0, supporto per la firma dei commit e, più recentemente, supporto beta per PHP 8.1. L’introduzione di uno strumento CLI locale era in conflitto con il mio obiettivo iniziale per StyleCI. Tuttavia, i clienti mi hanno convinto che fosse una buona idea e, ora che supportiamo più del semplice PHP, si adatta ancora allo scopo esistente di evitare l’installazione e la configurazione di più strumenti locali e di gestire risultati di analisi diversi a causa delle diverse versioni di runtime su computer diversi. Ciò è dovuto al fatto che l’analisi avviene ancora “nel cloud”, con lo strumento CLI che comunica solo le differenze tra lo stato locale e uno stato remoto noto, e quindi applica una differenza inviata come risultato. So come Utilizzare lo strumento CLI da solo e sono felice di averlo aggiunto.

Sebbene il panorama CI sia cambiato molto negli ultimi 7 anni, in particolare con GitHub
Le azioni in arrivo, StyleCI è ancora rilevante oggi come lo è sempre stata. GitHub
Le azioni non possono ancora avvicinarsi alla facilità di installazione e manutenzione fornita da StyleCI,
né la velocità con cui le analisi vengono completate. StyleCI è spesso completo prima di GitHub
I processi di azione vengono anche rimossi dalla coda e non è necessario scaricare nuovamente tutte le correzioni dello stile del codice
librerie e cache ad ogni esecuzione, il che ha l’ulteriore effetto collaterale di ridurre la CO2
emissioni dell’analisi – qualcosa che è importante per me. Cerchiamo di utilizzare StyleCI in a
modo carbon-negative, quindi anche con tempi di elaborazione molto ridotti, compensiamo questo e
di più, e colgo l’occasione per sostenere spudoratamente un ente di beneficenza sostenuto da StyleCI, Proteggi la Terraun ente di beneficenza con sede nel Regno Unito focalizzato sulla riforestazione, sul fare
davvero un ottimo lavoro. Ho potuto partecipare a uno sforzo di manutenzione degli alberi presso il loro sito di Howard Court
all’inizio di quest’anno. Vedo che hai intervistato Phill Sturgeon il 13 dicembre, che è un co-
fondatore dell’ente di beneficenza.

Per chi fosse interessato, dietro le quinte, StyleCI comprende principalmente alcune app Laravel
(nessuna sorpresa!) e funziona su una combinazione di DigitalOcean e AWS, con Cloudflare
fornendo l’hosting DNS insieme al proprio CDN e ai servizi di sicurezza. Vendere a livello globale lo è
reso possibile grazie a una partnership con Paddle, che funge da rivenditore, assumendosi l’imposta sulle vendite e
L’obbligo dell’IVA, che è un grosso problema. Stare al passo con le continue modifiche alle leggi fiscali locali lo è
non è come voglio trascorrere le mie giornate. Ci sono tantissime regioni a registrazione zero
soglia, sarebbe un vero incubo. Non posso raccomandarli abbastanza per altri
piccole aziende SaaS là ​​fuori!

Shahzeb: Sei parte integrante del core team di Laravel. Puoi dirci qualcosa in più a riguardo
il ruolo che devi ricoprire nella squadra e la descrizione del tuo lavoro?

Graham: Innanzitutto, per chiarire, non sono un dipendente di Laravel e non lavoro su Laravel a tempo pieno. Sono abbastanza soddisfatto di dove si trova il framework e di recente non ho sentito il bisogno di contribuire con alcun refactoring o funzionalità Importante che apparteneva al nucleo del framework. Questo non vuol dire che gli altri non lo abbiano fatto: la maggior parte del mio tempo ora lo passo lavorando sulla revisione del codice o lavorando su pacchetti PHP/Laravel di terze parti. Sono estremamente grato ai miei sponsor GitHub per avermi permesso di dedicare tempo ogni settimana all’open source:

https://github.com/sponsors/GrahamCampbell.

Shahzeb: Hai una vasta conoscenza dello sviluppo di Laravel. Qual è stata la tua reazione quando sei stato invitato a unirti al core team di Laravel? Cosa ti ha motivato a diventare uno sviluppatore web Laravel?

Graham: È stato un onore ed è stato utile anche dal punto di vista pratico, permettendomi di aiutare nella gestione dei problemi e nelle fusioni delle filiali. La mia scoperta di Laravel è stata puramente casuale, arrivando lì tramite la ricerca di Google nel 2013 dopo aver giocato con PHP per alcuni mesi, scrivendo un codice davvero terribile. Guardando indietro, non cambierei nulla: imparare nel modo più duro è uno dei modi migliori per imparare, realizzando quale codice dovrebbe essere scritto da zero e quale no, e scoprendo le migliori pratiche e modelli di progettazione da soli, in seguito per cercarli e vedere che sono davvero una cosa, o vederli in un altro codice e riconoscere gli schemi!

Shahzeb: Quali strumenti usi durante lo sviluppo di Laravel? Qual è il tuo flusso di lavoro?

Graham: Non mi descriverei necessariamente come uno sviluppatore Laravel: utilizzo lo strumento giusto per il lavoro. L’ecosistema Laravel proprietario è uno dei migliori, se non il migliore, che abbia mai visto per la prototipazione rapida di app web e Composer rende PHP una scelta molto solida per sistemi e applicazioni di tutte le dimensioni. Guido quotidianamente un MacBook Pro con Sublime Text come editor di riferimento.

Shahzeb: Quale tipo di web hosting preferiresti? Secondo te, quali sono i vantaggi di ospitare un sito su un fornitore di soluzioni gestite piuttosto che su un hosting condiviso convenzionale? Cosa ne pensi delle soluzioni di hosting gestito come DreamHost che forniscono uno stack PHP ottimizzato con funzionalità per distribuire le proprie app Web?

Graham: Siamo nel 2022 (sì, ho ricontrollato!). Qualsiasi mito secondo cui sia conveniente o che si possa fare un lavoro migliore facendo tutto internamente è solitamente un mucchio di spazzatura (a seconda del settore!). Il cloud ha cambiato tutto, non solo con IaaS, ma con PaaS e SaaS. Per un incidente storico, PHP è particolarmente adatto ai paradigmi di progettazione serverless e abbiamo opzioni davvero fantastiche tra cui scegliere: Bref su AWS Lambda è davvero un’ottima opzione per coloro che necessitano di molta flessibilità e controllo della propria distribuzione . Servizi come DreamHost forniscono un approccio meno flessibile, ma più gestito, un’ottima scelta per l’esecuzione di applicazioni PHP convenzionali e molte applicazioni PHP standard, soprattutto considerando il costo e la disponibilità di bravi ingegneri Dev Ops nel mercato odierno.

Shahzeb: Puoi parlarci del significativo miglioramento di Laravel 9 rispetto alle versioni precedenti? La community è entusiasta del potenziale delle funzionalità che verranno introdotte nell’ultima versione. Quali sono le vostre aspettative su Laravel 9?

Graham: Laravel 9 è principalmente una versione che ci consente di apportare alcune modifiche sostanziali e aggiornare ai componenti di Symfony 6, passare da Swift Mailer a Symfony Mailer e aggiornare a Flysystem 2. Quasi tutte le nuove funzionalità sono arrivate in Laravel 8, con l’arrivo di nuove funzionalità quasi ogni settimana nell’ultimo anno. Dries, io e molti altri abbiamo lavorato duramente per garantire che Laravel 8 e i suoi pacchetti di supporto funzionassero su PHP 8.1, quindi non c’è bisogno di aspettare fino a Laravel 9 per eseguire l’aggiornamento a PHP 8.1, il che è fantastico.

Shahzeb: Chi dovremmo intervistare dopo e perché?

Graham: Penso che fare una chiacchierata con Nuno Maduro sarebbe un’ottima idea. Lavora a tempo pieno su Laravel, ma ha alcuni progetti collaterali davvero interessanti, tra cui Pest, che è decollato come un razzo lo scorso anno!

Shahzeb: Graham, sono sicuro che molte persone hanno preso appunti. Sono anche sicuro che adorerebbero vedere una foto della tua postazione di lavoro se desideri condividerne una!

Shahzeb: Grazie ancora, Graham!

×

Ricevi la nostra newsletter
Sii il primo a ricevere gli ultimi aggiornamenti e tutorial.

Grazie per esserti iscritto!