Nu a fost cu mult timp in urma ca Apple a surprins dezvoltatorii iOS cu Swift. În scurt timp de atunci, sa bucurat de un ritm rapid de adopție în rândul comunității de dezvoltare. De fapt, într-un studiu realizat de Stack Overflow, Swift a fost numit cel mai iubit limbaj de programare.
La 3 decembrie, Apple a rămas adevărat cuvântului său și a făcut oficial Swift în întregime cu sursă deschisă. Având în vedere popularitatea lui Swift, este cu siguranță interesant să ne gândim la implicațiile acestei mișcări. Ce inseamna viitorul pentru Swift si ce putem face ca dezvoltatori pentru a ajuta la modelarea evolutiei sale?
Nu știți sigur ce înseamnă sursă deschisă? Citiți articolul lui Sam Berson despre open source aici.
Ca cineva care se bucură de a face ca dezvoltarea iOS ca o viață, am fost întotdeauna oarecum gelos de comunitatea open source. Deși GitHub este înfloritor în ceea ce privește proiectele iOS de tip open source, atât în Swift, cât și în Obiectiv-C, Apple nu a lăsat comunitatea iOS să contribuie mult la instrumentele, cadrele, IDE-urile sau limbile sale, în orice formă oficială,.
Acum, cu Swift, ni sa oferit o invitație pentru a ajuta la promovarea viitorului limbii. Aceasta este o nouă frontieră pentru comunitatea iOS și cred că va extinde și un pic de bunăvoință de la Apple dezvoltatorilor care lucrează zilnic pe platformele lor. Mai mult, viitorul lui Swift se poate extinde mult dincolo de iOS - ceva ce vom discuta mai târziu.
Un avantaj imediat al acestei mișcări, cel puțin pentru mine, este că acum ne putem bucura de o privire intimă asupra practicilor și proceselor de dezvoltare ale Apple. De fapt, depozitul Swift pe GitHub are toate comitetele pe care cineva le poate vedea, datând tot drumul până la comiterea inițială din 17 iulie 2010.
Dacă nu v-ați gândit la impactul mutarii Apple asupra sursei deschise Swift, cred că este important să faceți un pas înapoi și să vă uitați la ea. Istoria arată că deschiderea unui proiect software are multe avantaje.
În general, un proiect open source care câștigă tracțiune în comunitate se maturizează rapid, devenind mai stabil în timp. Dacă comunitatea este implicată activ, noile caracteristici pot fi implementate rapid.
Pe lângă iterațiile mai rapide, comunitatea ajută programul să se maturizeze într-un mod care este benefic pentru cei care îl folosesc cel mai mult. Deschiderea aparentă a unui proiect de multe ori are ca rezultat o mai mare colaborare în cadrul comunității, ceea ce este câștig pentru toți cei implicați.
Lista continuă și continuă. Într-o lume care depinde de tehnologie și de instrumentele din spatele ei, vă sugeram că nu a fost niciodată mai important și relevant pentru software-ul open source. Puterea unei comunități care lucrează în domeniul software-ului poate fi o inițiativă productivă, plină de satisfacții și mai importantă.
De fapt, am văzut chiar partenerul Apple cu alte companii de tehnologie proeminente pentru a ajuta la aducerea lui Swift la nivelul următor. IBM pare să aibă foarte mult interes în implementarea Swift ca limbă de server, și vă puteți bucura deja de un proiect incredibil din eforturile lor în cutia lor rapidă online de nisip.
În cele din urmă, deschiderea rapidă a Swift înseamnă că se va schimba într-un ritm rapid. De obicei, schimbarea rapidă ar putea însemna dureri de cap pentru ingineri. Am mai văzut asta într-o anumită măsură în Swift. Swift 2 a introdus multe modificări care au făcut Codul Swift 1 depășit și necompilat.
Diferența cheie acum este că Apple și și comunitatea sunt cele care conduc schimbarea. Cu o ușă deschisă uită-te la ceea ce se întâmplă cu Swift, dezvoltatorii pot fi mai bine pregătiți pentru viitoarele schimbări. Iterațiile în software nu ar trebui să fie un exercițiu de frustrare, ar trebui să fie o practică benefică și binevenită. Software-ul open source excelează în această privință.
Pentru a demonstra acest lucru, luați în considerare aceste valori pe care repozitorul Swift le-a experimentat în scurta perioadă în care a trăit:
La momentul scrisului, Swift este, de asemenea, trending constant la locul # 1 pe GitHub. Aceasta este o realizare destul de scurtă, și arată în mod clar că comunitatea de dezvoltare în general este pregătită și dispusă să contribuie.
În calitate de dezvoltator, este energizant să vedem deja adaptarea limbajului la un "open source" ritm. De exemplu, dezvoltatorul popular iOS și autorul Erica Sadun au făcut deja un caz convingător pentru a elimina buclele C-Style în Swift. În plus,, --
și ++
operatorii sunt probabil pe cale de ieșire, de asemenea.
Având în vedere aceste fapte, deja vedem că Swift beneficiază de sursa open source. Nu numai că se maturizează, fiind compatibilă cu alte platforme în afară de iOS, dar dezvoltatorii pot vedea și schimbările care se produc în mod public. Adaptarea bazelor de cod pentru Swift 3 nu ar trebui să fie o problemă, pentru că nu mai trebuie să așteptăm ca următorul WWDC să fie informat despre progresele înregistrate în limba.
Având în vedere impactul sursei deschise, s-ar putea să vă întrebați cum să vă implicați singuri. Software-ul open source poate fi inițial un pic intimidant dacă nu v-ați implicat înainte. Aici, aș dori să subliniez câteva moduri în care puteți obține o mai bună simțire pentru software-ul open source și în special pentru Swift.
Un loc bun pentru a începe să te implici în open source Swift sunt discuțiile în sine. Nu este surprinzător că multe dintre aceste discuții au originea pe Twitter. Anumite remedii proeminente menționate pe Twitter au fost chiar reparate înainte ca Swift să fie deschis.
Dezvoltatorii pot să-și exprime cu ușurință ideile pentru Swift folosind bariera scăzută a Twitter la intrare. În plus, nu trebuie să treceți încă prin procesul de a contribui la cod. Este un mod de stres scăzut pentru a începe să contribuiți la Swift.
Este, de asemenea, distractiv și educativ care interacționează cu dezvoltatorii companiei Swift. Ei au fost destul de activi pe Twitter care au dus la mișcarea sursă deschisă, și cu atât mai mult după aceasta. Acestea fiind spuse, iată unii ingineri de la Apple care sunt implicați imediat cu Swift.
Chris este responsabil pentru a ne aduce Swift și a fost, de asemenea, autorul original al infrastructurii de compilatoare LLVM. În mod firesc, el este întotdeauna logodit cu comunitatea Swift. De fapt, chiar a acceptat cereri de tragere la ora 22:00 o sâmbătă. A spune că este activ implicat în proiect ar fi o subevaluare.
Iordania este un alt inginer de top de la Apple, care se concentrează în primul rând pe Swift. La fel ca Chris, Iordania este, de asemenea, o mare resursă pentru a ridica întrebări sau preocupări Swift.
Joe este, de asemenea, un inginer talentat care lucrează la Swift. El a răspuns la câteva întrebări despre Swift și este întotdeauna fericit să se angajeze cu comunitatea.
Inițiativa open source a lui Swift se desfășoară prin platforma populară GitHub. Dacă nu sunteți familiarizat cu GitHub sau Git în general, contribuția la Swift poate fi o perspectivă destul de intimidantă. Dacă este cazul pentru dvs., aș recomanda să vă familiarizați mai întâi cu aceste instrumente și acesta este un loc bun pentru a începe.
Pentru a începe, va trebui să configurați un mediu local. GitHub README de la Swift este un ghid excelent de urmat, deci nu voi repeta acești pași aici. Practic, după numai câteva comenzi de la linia de comandă și interacțiunile cu depozitul, veți fi în desfășurare.
Când contribuie la software-ul open source sau la orice software în general, este bine să începeți cu un obiectiv mic, ușor de gestionat. De fapt, Chris Lattner îl încurajează.
Încercați să găsiți câteva bucăți din codul de bază și să vă familiarizați cu ele. De acolo, veți fi mai potrivită pentru a vedea ce ar putea fi îmbunătățit. Personal, primul pas pe care l-aș lua este să citesc Ghidul Contribuției Swift.
Unele știri interesante (și surprinzătoare) care au provenit din anunțul Open Source de la Swift au fost câteva proiecte care sunt în curs de dezvoltare cu limba. Câteva dintre ele erau așteptate, cum ar fi compilarea și biblioteca standard, iar unele erau inițiative noi.
Fiecare dintre cele patru proiecte majore sunt dezvoltate în mod deschis, deci contribuțiile sunt binevenite. Să aruncăm o scurtă privire la fiecare dintre ei acum.
Luat de la swift.org, compilatorul Swift "este în principal responsabil pentru traducerea codului sursă Swift în codul mașinii eficient și executabil". Chiar dacă nu aveți o înțelegere profundă a compilatorilor sau modul în care funcționează, este fascinant să răsfoiți codul dacă numai în scopuri educaționale.
A doua componentă a acestui proiect, biblioteca standard, este probabil ceva ce majoritatea dezvoltatorilor vor fi familiarizați cu. Acesta găzduiește totul de la cele mai fundamentale tipuri de date, cum ar fi Int
și Dubla
tipuri, la tipuri avansate de colectare, cum ar fi mulțime
și Dicţionar
.
Dacă sunteți un avid dezvoltator Swift, aveți acum puterea de a ajuta la mucegai modul în care aceste tipuri de lucru. Sau dacă v-ați dorit un set de funcții specializate specific nevoilor dvs., puteți chiar să vă dați drumul la depozit și să personalizați tipurile de Swift după cum vă considerați de cuviință.
Comunitatea iOS a văzut câteva căi diferite de distribuire a codului. Unele alegeri populare includ Cocoapods și Carthage. Acum putem adăuga Managerul pachetului Swift la lista respectivă.
Deși se află în fazele foarte avansate de dezvoltare, acesta este proiectul pe care îl consider cel mai interesant. De fapt, în prezent nu suportă iOS, tVOS sau watchOS. În timp ce suportul pentru aceste platforme va veni cu siguranță, pe măsură ce se maturizează, ar putea fi folosit pentru a distribui codul Swift cu mult mai mult decât iOS sau OS X.
Proiectul Swift Core Library este strâns legat de biblioteca standard, cu excepția faptului că oferă funcționalitate mai ridicată. Instrumentele incluse în acest proiect sunt în mod tipic concepte de platformă agnostice.
De exemplu, proiectul de bază al bibliotecii găzduiește funcționalitatea pentru parsarea JSON, testarea unităților și interacțiunea cu sistemul de fișiere. Acestea sunt instrumente care vor depinde de orice platformă sau de proiect.
Pentru a pune acest proiect în termeni mai relatabili pentru dezvoltatorii iOS și OS X, libdispatch este găzduit aici. Probabil sunteți familiarizați cu acest lucru, deoarece de aici vine Grand Dispatch. Acestea fiind spuse, este logic ca aceasta sa fie inclusa in Bibliotecile Core deoarece executarea codului concurent nu este o sarcina specifica doar pentru iOS sau OS X.
În cele din urmă, proiectul REPL și Debugger este probabil puțin explicativ. Acest proiect este responsabil pentru implementarea suitei Swift de depanare completă. Debuggerul LLDB este ceva ce dezvoltatorii au folosit de ceva timp acum, pentru că este inclus în Xcode.
Cu toate acestea, REPL și Debugger sunt foarte cuplate, ceea ce are sens, deoarece acestea oferă o valoare similară în multe feluri. REPL reprezintă "Read Eval Print Loop" și este minunat să o utilizați pentru codul Swift ușor. Dacă deschideți terminalul și tastați "Swift", veți începe să executați local Swift REPL.
După cum puteți vedea, cu siguranță nu există nici o lipsă de proiecte sau componente ale Swift pentru a contribui la. Deși cliche, așa cum se pare, acesta este doar începutul și mai multe proiecte noi vor apărea de-a lungul timpului.
Pentru a încheia, aș vrea să vă las câteva resurse pe care le puteți utiliza pentru a vă îmbunătăți cunoștințele despre peisajul open source al Swift.
Aceasta este destinația oficială a întregii dezvoltări a lui Swift. Acesta include ghiduri pentru a începe, rezumate ale tuturor proiectelor în derulare și multe altele. Ar trebui să vă opriți pumnul dacă vreți să vă implicați.
În timp ce acesta a fost în jur de ceva vreme, dacă nu l-ați vizitat înainte de asta. Acesta conține multe informații utile despre Swift și despre arhitectura sa scrisă de Chris Lattner. Deși rămâne de văzut dacă va fi menținută în locul swift.org, este încă o resursă valoroasă.
Am menționat acest lucru de câteva ori, dar aici se desfășoară toată dezvoltarea lui Swift. Dacă doriți să răsfoiți codul, depozitele de furcă sau să trimiteți cereri de tragere, acesta este locul unde se întâmplă.
Aceasta este o listă excelentă de discuții pentru a vă abona, dacă sunteți în primul rând interesat să vedeți cum va evolua Swift și direcția pe care o ia limba. În plus, există mai multe alte liste de discuții pentru a vă lua în considerare abonarea, care discută toate aspectele legate de dezvoltarea lui Swift. Le puteți vedea pe toți aici.
Ca orice alt software, Swift are bug-uri. Aceasta este locația centrală pe care echipa Swift o folosește pentru a urmări bug-uri și a le urmări până când acestea sunt rezolvate. Pe lângă bug-uri, pot fi sugerate și îmbunătățiri aici.
Swift va juca un rol important în dezvoltarea iOS-ului. Cred că dezvoltatorii au știut că de când a fost anunțat la WWDC 14. Ceea ce este interesant este că se va manifesta acum în afara doar platformelor Apple. Imaginați-vă că folosiți Swift ca limbă de server când dezvoltați un API?
Poate că mai important decât creșterea lui Swift este faptul că comunitatea va conduce schimbarea. Open source Swift va deschide o mulțime de uși atât pentru tine, cât și pentru limbă. Acum este momentul să vă implicați, deci începeți să citiți instrucțiunile care contribuie și aștept cu nerăbdare să vă vedeți următorul angajament în depozitul Swift.