Technologie Gadgets, SEO Tipps, Geld Verdienen mit WEB!

DreamHost intervista Anton Titov sul suo PHP…

DreamHost intervista Anton Titov sul suo PHP...

In conversazione con Anton Titov dalla Bielorussia, Minsk, fondatore di CIO e co-fondatore di SpiralScoutAppassionato di hardware/software, ha iniziato a lavorare con PHP all’età di 13 anni e da allora ha realizzato molti progetti software e hardware come Spiral Framework, RoadRunner, Cycle ORM, Temporal PHP SDK ecc. Siamo entusiasti di avere Anton qui con noi oggi mentre ci parla del suo viaggio, della sua esperienza di lavoro con PHP e Laravel, della creazione di eventi PHP e molto altro ancora.

Shahzeb: Ciao, Anton. Grazie per aver dedicato del tempo per questa intervista. Prima di iniziare, che ne dici di raccontare un po’ di te ai nostri lettori?

Anton: Ciao, sono felice di condividere alcune delle mie esperienze con i lettori. Mi chiamo Anton Titov. Sono co-fondatore e CIO (in precedenza CTO) della società di sviluppo software Spiral Scout. Mi occupo della maggior parte del lato tecnico dell’azienda, ma mi tengo le mani sporche anche su progetti open source e su alcuni dei miei progetti hardware preferiti.

Shahzeb: Allora, quando e come hai iniziato la tua carriera con PHP? Qualche storia interessante che vorresti condividere sul tuo viaggio? Quali sono state le sfide che hai dovuto affrontare all’inizio e come le hai affrontate?

Anton: Ho iniziato a programmare quando avevo circa 11 anni e ho preso in mano un libro “tutorial” di PHP quando ne avevo 13. All’epoca non c’erano così tante risorse informative come oggi, quindi dovevo dedicare molto tempo alla lettura. Immagino che sia stata la sfida principale rispetto a quanto sia facile raccogliere informazioni adesso. Inoltre, la mancanza di comunità nella mia zona era un problema. Ho realizzato il mio primo progetto commerciale intorno ai 16 anni e da allora sono rimasto fedele a questo stack tecnologico. La maggior parte della sfida iniziale riguardava come non spararsi un piede. Ho avuto casi con rimozione del database di produzione (oof), ottimizzazione e lavoro algoritmico.

Shahzeb: Come hai iniziato a interessarti alla programmazione e cosa ti ha portato al punto in cui hai creato lo Spiral Framework?

Anton: I primi progetti creati sono stati realizzati su PHP vanilla. Diventa abbastanza presto ovvio che ho bisogno di una libreria comune di strumenti per continuare lo sviluppo. Inizialmente guardando CodeIgniter non ero soddisfatto di alcuni progetti e ho iniziato a prendere in giro la mia Piattaforma. La prima vera versione è arrivata intorno al 2008 ed è ancora utilizzata da alcuni prodotti online. In un secondo momento, quando scoprii Symfony e Laravel, era troppo tardi per passare a questi framework, poiché allora il loro set di funzionalità non era molto avanti rispetto a quello che già avevamo.

Shahzeb: Le tue decisioni riguardo alle nuove funzionalità e caratteristiche sono state guidate dai segnali che ricevevi dalla tua community di Spiral Framework o è stata una tua decisione personale?

Anton: In entrambi i casi, gran parte del contributo è venuto dagli sviluppatori che hanno utilizzato (sia interni che esterni), ma molto di più è venuto dalle esigenze aziendali dei nostri clienti. Poiché serviamo decine di aziende, abbiamo dovuto elaborare un protocollo su come astrarre e unificare il lavoro per tutte loro. È così che entrano in gioco strumenti come ORM, motore di modelli, sicurezza e componenti di archiviazione nel cloud. Stiamo facendo esattamente questo negli ultimi 12 anni, tranne che la posta in gioco è più alta e i componenti diventano sempre più complessi.

Shahzeb: Ci hai lavorato in modo indipendente o hai avuto persone che ti hanno aiutato lungo il percorso per la prima versione di Spiral Framework?

Anton: Ho lavorato praticamente da solo per Spiral Framework per i primi 8 anni. Ora abbiamo un team RnD di quattro persone che lo supporta, un PM dedicato e un gruppo di consulenti esterni provenienti da altri framework. In questo momento sono meno coinvolto nella codifica del nuovo codice Spiral e più nella strategia di livello superiore e nella gestione del team.

Shahzeb: Hai creato alcuni strumenti PHP impressionanti come Cycle ORM e RoadRunner. Come ti sono venute queste idee?

Anton: Non posso dire che queste idee siano uniche, Swoole e Doctrine esistevano sul mercato da anni quando abbiamo iniziato a lavorarci. Ma stavamo vedendo quanto velocemente PHP si stava evolvendo ed era pronto per nuove sfide (di lunga durata, ecc.). Quindi, per aggirare i limiti delle librerie esistenti, abbiamo dovuto elaborare il nostro approccio per risolvere gli stessi problemi. Penso che sia finita bene.

Shahzeb: Cosa ti ha fatto pensare allo sviluppo di Cycle ORM?

Anton: Stiamo lavorando molto nel segmento enterprise, dove alcuni schemi di dati sono definiti dai clienti piuttosto che dagli sviluppatori. Lavorare con schemi dinamici in Doctrine o Eloquent è piuttosto difficile o quasi impossibile. Se aggiungiamo il desiderio di rendere il motore capace di lavorare in un modello di memoria residente (senza scaricare codice dalla RAM) non ci resta altra scelta che reinventare la ruota. Nella prossima versione 2.0, tratteremo alcune delle funzionalità mancanti e forniremo nuovi interessanti approcci per rendere più semplice l’integrazione ORM per il tuo codice. Ad esempio, sarai in grado di Utilizzare qualsiasi tipo di raccolta (Doctrine, Eloquent, array) per i tuoi modelli, disaccoppiandoti ancora di più da ORM.

Shahzeb: Quali pensi siano i principali vantaggi che gli sviluppatori ottengono dagli strumenti Cycle ORM e RoadRunner?

Anton: Cycle ORM è un nuovo sguardo su come DataMapper potrebbe essere costruito in PHP. Abbiamo esaminato le pietre miliari di Doctrine 3, ma abbiamo anche evitato di copiare qualsiasi cosa dall’architettura di Doctrine. Ciò ha portato al motore piuttosto leggero, strano e potente con molti calcoli interessanti (intorno ai DAG).

RoadRunner dall’altro lato è un buon esempio di come puoi migliorare drasticamente il tuo stack lasciando la tua zona di comfort per un secondo. Non ci siamo posti la domanda “potrebbe essere fatto in PHP” ma piuttosto “cosa dovremmo fare per farlo funzionare in PHP”. Di conseguenza, abbiamo GRPC, Temporal, Queues e così via.

Shahzeb: Cosa dovrebbero sapere i lettori su tutto ciò che stai facendo in PHP in questi giorni?

Anton: Non ne parliamo ancora pubblicamente, ma abbiamo sviluppato una nuova libreria per PHP in collaborazione con la società Temporal. È un motore estremamente potente creato per orchestrare più applicazioni in modo resiliente. Immagina di fondere PHP sincronizzato e asincrono ma con il ripristino automatico degli errori e una scalabilità orizzontale quasi illimitata. Stiamo lavorando ora alla versione 1.1, che includerà strumenti aggiuntivi, un framework di test e molto altro.

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?

Anton: Stiamo utilizzando lo stack AWS nel nostro lavoro. Nel complesso, preferiamo non lavorare con hosting condivisi a causa della loro velocità e limitazioni. Le nostre applicazioni sono enormi e richiedono configurazioni di cluster significative. Ma gli hosting condivisi rappresentano una grande opportunità per molti ingegneri e aziende per far funzionare i propri progetti senza troppi problemi.

Shahzeb: Cosa ne pensi delle soluzioni di hosting gestito come DreamHost che forniscono uno stack PHP ottimizzato con funzionalità per distribuire le proprie app Web?

Anton: Finora non ho visto provider di hosting condiviso che supportino RoadRunner. Tuttavia, credo che potrebbe essere una fantastica sinergia qui. Se lo sviluppatore è in grado di distribuire un’app con overlay RoadRunner su un hosting condiviso, avrà immediatamente accesso a tantissime soluzioni: metriche, code, kV, GRPC, temporali, ecc.

Shahzeb: È davvero importante bilanciare la tua vita personale e professionale. Come trascorri il tuo tempo quando non lavori?

Anton: Trascorro il tempo con i miei cani, gioco ai videogiochi. Ma la maggior parte del mio tempo libero lo passo ad armeggiare con l’hardware.

Shahzeb: Chi suggerisci di intervistare prossimamente e perché?

Anton: Sergei Zuk, ha contribuito molto a promuovere l’adozione di Async PHP ed è attualmente coinvolto nel progetto Temporal.

Shahzeb: Anton, 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!

Anton: Sicuro! Mi scuso per un po’ di caos dato che sono nel bel mezzo di un progetto di ristrutturazione dell’appartamento.

Shahzeb: Grazie ancora, Anton!

×

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

Grazie per esserti iscritto!