Un interviu cu Jason Lengstorf

Jason Lengstorf este un dezvoltator profesionist de web care se specializează în aplicații PHP și jQuery. El este autorul recent lansat PHP pentru începători absolut, care este o voce expert în open source. În plus, a co-autorizat un tutorial în opt părți privind Crearea unei aplicații Web de la Scratch împreună cu Chris Coyier. Alăturați-vă nouă discutând despre dezvoltarea web, PHP și viața în general.

1. Mulți dintre noi pot fi familiarizați cu dvs. datorită cărții dvs.: "PHP pentru începători absolut". Pentru cei care nu vă cunosc, puteți să ne spuneți ceva despre tine și despre viața ta?

Pe scurt, sunt un dezvoltator PHP bazat pe Missoula, MT. Desfășoară o companie numită Ennui Design care se specializează în dezvoltarea afacerilor mici și a site-urilor individuale. Sunt, de asemenea, în dezvoltarea front-end, pe care o folosesc în primul rând jQuery.

Am 24 de ani și am lucrat în dezvoltarea de web-uri timp de aproape șase ani și am fost în curs de dezvoltare cu normă întreagă de aproape un an și jumătate acum. Sunt absolut auto-învățat, așa că îmi datorez cariera la blogosphere și pe cei mari care întotdeauna ajută pe forumuri precum W3schools și altele.

De asemenea, încerc să scriu și am scris câteva articole în jurul site-ului web pentru site-uri precum Smashing Magazine, CSS Tricks și Nettuts +, precum și pentru propriul blog pe Ennui Design. La inceputul acestui an, am avut ocazia sa scriu o carte pentru publicarea Apress care a aparut in luna octombrie, numita "PHP pentru Absolut Beginners", iar acum lucrez la un nou titlu pentru Apress numit "Pro PHP si jQuery".

2. Cum ai început să dezvolți web-ul??

Am inceput in dezvoltarea webului din necesitate. Când aveam 18 sau 19 ani, am jucat într-o trupă și aveam nevoie de un site web. Când am început să ne uităm la prețuri, am realizat că nu ne-am putea permite să avem unul construit pentru noi. Așa că i-am spus celorlalți băieți: "Ei bine, cred că pot să înțeleg asta".

Am intrat pe w3schools (după ce am căutat "cum să construiesc un site web" pe Google) și am lucrat prin cursul HTML, după care am fost sigur că am fost expert în web designer. Așadar, am construit acest site îngrozitor, bazat pe tabele, complet cu iframe și toate stilul inline.

Când am terminat cu asta, m-am gândit la mine: "Păi, asta pare teribil." Așa că l-am construit din nou. Și din nou. Aproximativ cincisprezece ani mai târziu, am învățat puțin despre CSS și JavaScript; site-urile au început să meargă mai bine și m-am simțit confortabil construindu-le.

Chiar în jurul aceluiași timp, un cuplu de prieteni am nevoie de site-uri web și mi-am oferit să le construiesc gratuit. Am facut-o, si amandoi am fost fericiti cu ei, dar mi-am dat seama ca intretinerea pe site-urile lor era cu adevarat greoaie. Atunci am intrat în PHP, pentru că aveam nevoie de o soluție care să permită o întreținere mai ușoară.

Din moment ce nu știam nimic despre sistemele de gestionare a conținutului sau despre existența unor CMS-uri existente, am ajuns să mă răzgândesc. Era plin de găuri, ciudat și sărac, dar a făcut truc și mi-a plăcut să-l construiesc. Am petrecut 14 ore pe zi în magazinul meu preferat de cofetărie, alăturându-l și reconstruindu-l.

După lansarea site-urilor celor două prieteni, am primit un apel de la primul meu client real și mi-am dat seama că aș putea să fac site-uri web pentru crearea de bani. Am petrecut patru ani încercând să obțin destul de bine pentru a construi site-uri cu normă întreagă și, în sfârșit, am lovit acest obiectiv în toamna anului 2008, când am renunțat la slujba mea de zi cu zi la FedEx Kinko pentru a lucra cu normă întreagă pe proiectele Ennui Design.

3. Care este cel mai bun mod de a învăța PHP - și cum a fost experiența dvs. de a scrie această carte?

Învățarea PHP este ca și cum ați învăța orice limbă. Da, puteți face o grămadă de exerciții care nu au aplicații în lumea reală ("Repetați după mine:" Cette espadon est glissante! Acest pește spadă este alunecos! "), Dar asta vă ajută doar să memorați concepte. Cred că trebuie să vă scufundați cu adevărat în lumea reală a limbajului, astfel încât să puteți vedea cum și de ce este folosit.

Aceasta este abordarea pe care am luat-o când scriu "PHP pentru începători absolut". Acoperim conceptele de bază, apoi construim imediat un proiect din lumea reală (un sistem de bază al conținutului de bază).

Scriind cartea a fost grozavă pentru mine, pentru că ma obligat să-mi apăr abordarea în dezvoltare. Am avut un reviewer tehnic, editorial și de proiect, toate ținând cont de modul în care a fost pus totul împreună, care a făcut presiunea să facă totul în mod corect, fără comenzi rapide. Învățând să o fac corect, prima dată a fost o lecție bună în răbdare pentru mine. De asemenea, mă va ajuta atunci când lucrez la proiecte viitoare cu colaboratori, pentru că acum am o mai bună înțelegere în ceea ce privește scrierea codului auto-descriptiv, inclusiv o documentație mai bună în linie și justificarea alegerilor de programare cu raționament concret.

4. Recent, ați co-scris o serie de 8-părți numită "Crearea unei aplicații Web de la zero", cu Chris Coyier pe CSS-Tricks>. Ce a fost asta?

Chris Coyier este omul, cu mâinile în jos. Sunt un muncitor, dar tipul ăsta reușește să mă facă să mă simt ca un slăbit cu cantitatea de muncă pe care o produce în mod constant.
Seria de tutorial a fost o modalitate excelentă de a mă forța să revin în blogging (pentru că am fost înnebunită în ultima vreme) și o oportunitate de a da un alt exemplu din lumea reală dezvoltatorilor începători la nivel intermediar. Este un lucru de explicat un concept, însă o fiară complet diferită atunci când încercați să explicați un concept în contextul unui site de producție în viața reală.

Comentariile pe care le-am primit au fost foarte utile, pentru că ne-au arătat bucăți ale aplicației pe care nu le-am gândit, ca niște găuri de securitate pe care nu le-am avut în vedere și caracteristici care ar spori cu adevărat aplicația.

Această serie a fost una dintre tutorialele mele preferate pe care am lucrat vreodată și sper să le pun mai multe împreună în aceste direcții în viitor.

5. Ne puteți furniza informații despre cartea viitoare "Pro PHP și jQuery"?

Pro PHP și jQuery vor fi pentru dezvoltatorii PHP intermediari sau avansați care vor să se familiarizeze cu capabilitățile jQuery. Aceasta va acoperi crearea unui calendar de evenimente bazat pe AJAX, care va avea o grămadă de caracteristici, cum ar fi sfaturi de instrucțiuni, încărcări de fișiere, comanda drag-n-drop a evenimentelor și a fotografiilor și alte concepte utile.

AJAX este foarte puternic și permite dezvoltatorilor să creeze aplicații web care se simt ca aplicații desktop (pentru că nu trebuie să reîncărcați tot timpul etc.). Creșterea jQuery și a altor biblioteci JavaScript a făcut ca toate funcționalitățile AJAX să fie accesibile dezvoltatorilor, iar scopul meu cu Pro PHP și jQuery este de a aduce cititorul la viteză prin construirea de aplicații web de vârf.

6. Sunteți proprietarul Ennui Design, care oferă dezvoltare web personalizată. Care e ziua ta de zi cu zi?

După cum am menționat mai devreme, Ennui Design este numele companiei în care îmi desfășorez activitatea independentă. Am încercat să devin o armată de tip unic, oferind o dezvoltare de site de sus în jos, de la artă și design la sisteme personalizate de gestionare a conținutului. Recent, am început să iau clienții care au nevoie de aplicații personalizate, și asta a fost foarte distractiv.

Începând cu această lună, extind Ennui Design și încercând să construiesc o rețea de colaboratori independenți care să mă ajute să mă ocup de sarcina clientului meu. Tocmai am adus-o pe Drew Douglass recent și sunt foarte încântată să lucrez cu el. Încă mai caut un designer de la fața locului care să mă ajute cu opere de artă și conversie PSD-XHTML, așa că dacă știi pe cineva ... :)

7 - Care este cadrul dvs. preferat de aplicații web și de ce?

Pentru că nu știam niciodată că există cadre de aplicații web, nu am învățat niciodată pe nimeni. Mă abonez la conceptul de arhitectură pe mai multe niveluri și chiar am scris un articol despre Nettuts+.

Am analizat alte modele, cum ar fi MVC, și cred că sunt minunate, dar încerc să nu mă împotmolit în dogma de programare; dacă este ușor de citit, ușor de întreținut și uscat în cea mai mare parte, consider că este un cod bun.

8. Poți să ne spui puțin despre proiectele tale personale?

În prezent, lucrez la pregătirea pentru CMS pentru o versiune open source cu Drew Douglass și alți câțiva prieteni. De asemenea, intenționez să dezvolt o versiune 2.0 a listelor colorate cu Chris Coyier (aplicația pe care am construit-o în seria noastră "Construirea unei aplicații web de la zero" din 8 părți). Am primit și câteva pluginuri jQuery pe care vreau ordonează și eliberează cândva în viitor.

Recent am hotarat sa-mi incerc si designul de produs si am lansat o companie de imbracaminte numita Humblecock cu un cuplu de prieteni apropiati. Ne-am dorit cămășile de înaltă calitate, ultra-confortabile pentru noi înșine și am hotărât că cel mai bun mod de a le obține este să le facem noi înșine. Este o nouă aventură, și am o explozie cu ea până acum. A fost unul dintre site-urile mele favorite pentru a proiecta, și a fost foarte cool pentru a proiecta produse fizice.

Blogul meu, din nefericire, a fost victima programului meu de lucru supraîncărcat. Între sarcina clientului meu și termenele limită cu editorul meu, am avut foarte puțin timp liber. Cu toate acestea, adăugând Drew și (sperăm) alți freelancatori la rețeaua Ennui Design, sper să am mai mult timp să revin blog.

9. Care sunt resursele tale preferate online pentru a rămâne la curent cu industria de dezvoltare web?

Încerc să țin pasul cu cât mai multe bloguri posibil, într-adevăr. Dacă am un moment de rezervă, voi încerca să citesc cât mai multe articole pentru a vedea dacă orice evoluții noi afectează în mod direct orice lucrare pe care o fac. Unele dintre site-urile pe care le frecventez sunt:

  • Nettuts+
  • Ajaxian
  • Blogul lui David Walsh
  • Blogul lui Jonathan Snook
  • ThemeForest

Chris Shiflett are, de asemenea, o mulțime de articole bune despre securitate în catalogul său din spate, pe care îl folosesc în mod regulat.

10. Ce părere aveți despre WordPress și Drupal?

Nici eu nu am folosit, așa că nu cred că sunt calificat să răspund la această întrebare.

11. Când lucrați, cum vă concentrați în timp ce scrieți codul și care este editorul dvs. de cod preferat?

În general, lucrez la biroul de acasă atunci când fac orice fel de scriere sau dezvoltare greoaie. Cu toate acestea, când am nevoie de o schimbare de atmosferă, sunt cunoscut că bântuie o cofetărie locală (de fapt am petrecut atât de mult timp acolo încât mi-au construit site-ul).

Folosesc XAMPP, Eclipse și Firefox (cu Firebug / FirePHP / Web Developer Toolbar) pentru majoritatea dezvoltării mele. Eclipse este bazată pe Java, dar este, de asemenea, open source și are suport pentru tot ce am nevoie vreodată. Am jucat pe scurt cu câteva IDE-uri, dar ar fi nevoie de un argument destul de solid pentru a mă convinge să trec la acest punct.

12. Ce credeți că este viitorul pentru PHP??

În viitorul apropiat, acesta deține știri excelente, cum ar fi funcțiile anonime și spațiile de nume (cu adoptarea PHP 5.3). Nu pot aștepta până nu există suficient sprijin suficient de către companiile de găzduire pentru a începe să le folosească. :)

La un nivel mai puțin specific, cred că PHP și alte limbi "web" vor începe să devină din ce în ce mai relevante pentru dezvoltarea serioasă. Întreaga lume se mișcă online, iar aplicațiile web încep să conteze la fel de mult ca aplicațiile native, dacă nu chiar mai mult. Sunt încântat să văd ce urmează pentru PHP.

13. Orice cod de companie petronează?

Personal, nu-mi place să văd codul care se întinde. Mă deranjează cu adevărat atunci când codul este scris ca un șir de acțiuni lungi, în loc să fie fragmentat în funcții sau metode mici care gestionează o acțiune. Această lipsă de separare conduce la fișiere incredibil de umflate, greu de întreținut și există tendința de a avea o mulțime de coduri repetitive. Pur și simplu cere pentru erori atunci când aveți două bucăți de cod care fac exact același lucru.

În general, doresc ca toată lumea să codifice ca și cum altcineva ar lucra cu tine, care trebuie să înțeleagă despre ce naiba vorbești. Aroganța care îi determină pe cineva să se gândească: "Dacă nu sunteți suficient de inteligent pentru a înțelege cum funcționează codul meu, nu ar trebui să vă aflați în codul sursă", mă deranjează cu adevărat; Cred că o întrebare mai bună este: "Dacă nu sunteți suficient de inteligent pentru a scrie un cod clar pe care orice dezvoltator funcțional îl poate înțelege, nu ar trebui să vorbiți cu nimeni".

14. Ce tip de muzica iti place? Orice hobby-uri?

Am crescut pe muzica country, apoi am inceput sa ascult Top 40 de lucruri pe masura ce am ajuns putin mai in varsta. Am fost prezentat la metal, apoi punk și hardcore, apoi hip-hop, apoi folk. Am gasit ceva bun in toate astea, dar asculta mai ales folk / alternative si hip-hop acum. Îmi petrec o cantitate inutilă de timp pentru a asculta muzică și eu o urmăresc prin Last.fm.

Stau destul de ocupat, așa că nu am prea multe hobby-uri, dar fac eforturi pentru a le păstra non-geeky (vreau să spun, într-un anumit moment am nevoie de a impresiona doamnelor, nu?). Ridic greutatea de câteva ori pe săptămână și îmi place să gătesc. Sunt, de asemenea, un mare iubitor de bere de timp, și îmi place să găsesc noi microbrews și beri de specialitate (în special stouts și porters). Îmi pregătesc propria bere în fiecare lună sau două pentru distracție, ceea ce este mult mai distractiv decât suna. În plus, nu este nimic mai bun decât să bei o bere pe care ai îmbuteliat-o. Incerc sa calatoresc cat mai mult posibil. Planuiesc cateva excursii de drum care trec de primii fabrici de bere preferate in primavara, si sper sa plec din tara in toamna viitoare si sa plec in Europa pentru un pic.

15. Care sunt planurile viitoare??

Dacă primesc tot ceea ce sper, voi face un pic mai puțin în ceea ce privește munca independentă și se va concentra mai mult pe aspectul didactic al programării. Mi-ar plăcea să continuu să produc tutoriale aprofundate alături de bloggerii influenți din comunitate, cum ar fi Chris Coyier. De asemenea, sper să încep să vorbesc la conferințe în 2010, dacă sunt destul de norocos să profit.

Apress a fost grozav și sper să continuu să scriu cărți despre dezvoltarea web. Vreau, de asemenea, să mă întorc în scris articole pentru site-uri precum Nettuts + (nu am uitat de acest articol, Jeffrey promite!) Și în mod regulat blogging-ul pe Ennui Design.

Vreau, de asemenea, să încerc să cresc Humblecock cât mai mult posibil, dacă nu pentru alt motiv decât vreau să pot face exact hainele pe care vreau să le port.
Și într-un anumit moment, va trebui să cresc mai mult o viață socială și să încep să mă întâlnesc. Mama mea va avea un atac de cord dacă mă întorc acasă singur pentru Crăciun. :)

Mulțumesc mult pentru timpul tău prețios, Jason! A fost o plăcere să vorbim cu dvs.!

  • Urmați-ne pe Twitter sau abonați la Nettuts + RSS Feed pentru cele mai bune tutoriale de dezvoltare web de pe web. Gata

Sunteți gata să vă abilitați la nivelul următor și să începeți să profitați de scripturile și componentele dvs.? Verificați piața sora noastră, CodeCanyon.

Cod