Swift ist Open Source

Es war noch nicht lange her, dass Apple iOS-Entwickler mit Swift überraschte. In der kurzen Zeit seitdem hat es in der Entwicklungsgemeinde ein rasches Adoptionstempo erfahren. Tatsächlich wurde Swift in einer von Stack Overflow durchgeführten Umfrage zur beliebtesten Programmiersprache gewählt.

Am 3. Dezember blieb Apple seinem Wort treu und machte Swift offiziell vollständig Open Source. Angesichts der Beliebtheit von Swift ist es sicherlich aufregend, über die Auswirkungen des Umzugs nachzudenken. Was hält die Zukunft für Swift und was können wir als Entwickler tun, um seine Entwicklung mitzugestalten??

Nicht ganz sicher, was Open Source bedeutet? Lesen Sie hier Sam Bersons Artikel über Open Source.

Apple und Open Source

Als jemand, der Spaß daran hat, iOS zu entwickeln, war ich schon immer etwas neidisch auf die Open Source-Community. Zwar gedeiht GitHub mit Open-Source-iOS-Projekten erfolgreich, sowohl in Swift als auch in Objective-C. In der Vergangenheit hat Apple nicht zugelassen, dass die iOS-Community in irgendeiner offiziellen Rolle außer ResearchKit viel zu ihren Tools, Frameworks, IDEs oder Sprachen beiträgt.

Jetzt haben wir mit Swift die Einladung erhalten, die Zukunft der Sprache zu fördern. Dies ist eine neue Grenze für die iOS-Community, und ich glaube, es wird auch ein bisschen guten Willen von Apple für die Entwickler sein, die täglich auf ihren Plattformen arbeiten. Darüber hinaus kann die Zukunft von Swift jetzt weit über iOS hinausgehen - etwas, das wir später besprechen werden.

Ein unmittelbarer Vorteil dieses Schrittes ist für mich zumindest, dass wir jetzt einen genauen Einblick in die Entwicklungspraktiken und -prozesse von Apple erhalten. Tatsächlich hat das Swift-Repository auf GitHub alle Zusagen, die jeder einsehen kann, und reicht bis zum ersten Commit am 17. Juli 2010 zurück.

Auswirkungen von Open Source

Wenn Sie nicht über die Auswirkungen von Apples Umstieg auf Open Source Swift nachgedacht haben, ist es meiner Meinung nach wichtig, einen Schritt zurückzutreten und einen Blick darauf zu werfen. Die Geschichte zeigt, dass Open Sourcing eines Softwareprojekts viele Vorteile bietet.

Im Allgemeinen reift ein Open-Source-Projekt, das in der Community an Bedeutung gewinnt, schnell und wird mit der Zeit stabiler. Wenn die Community aktiv beteiligt ist, können neue Funktionen schnell implementiert werden.

Abgesehen von schnelleren Iterationen hilft die Community der Software dabei, auf eine Weise zu reifen, von der die Benutzer am meisten profitieren. Open-Sourcing eines Projekts führt häufig auch zu mehr Zusammenarbeit innerhalb der Community, was für alle Beteiligten ein Gewinn ist.

Die Liste geht weiter und weiter. In einer Welt, die von der Technologie und den dahinterstehenden Tools abhängig ist, würde ich Ihnen sagen, dass Open Source-Software so wichtig und relevant wie nie zuvor war. Die Stärke einer Community, die an Software arbeitet, kann eine lohnende und vor allem produktive Initiative sein.

In der Tat haben wir sogar Apple als Partner mit anderen führenden Technologieunternehmen gesehen, um Swift auf die nächste Stufe zu bringen. IBM scheint ein großes Interesse daran zu haben, Swift als serverseitige Sprache zu implementieren, und Sie können bereits ein unglaubliches Projekt von ihren Bemühungen in ihrer schnellen Online-Sandbox genießen.

Schnell entwickelt sich schnell

Open-Sourcing-Swift bedeutet am Ende, dass sich das schnell ändern wird. Normalerweise kann ein schneller Wechsel für Ingenieure Kopfschmerzen bereiten. Wir haben das sogar bis zu einem gewissen Grad in Swift gesehen. Mit Swift 2 wurden viele Änderungen eingeführt, durch die Swift 1-Code veraltet und nicht kompilierbar war.

Der entscheidende Unterschied ist jetzt, dass Apple und und die Gemeinschaft ist diejenige, die den Wandel antreibt. Mit einem offenen Blick auf das Geschehen von Swift können Entwickler besser auf bevorstehende Änderungen vorbereitet werden. Iterationen in Software sollten keine Frustrationsübung sein, sie sollten eine nützliche und willkommene Übung sein. Open-Source-Software zeichnet sich in dieser Hinsicht aus.

Um dies zu demonstrieren, betrachten Sie diese Metriken, die das Swift-Repository in der kurzen Zeit erlebt hat, in der es live war:

  • Im ersten waren 10.000 Commits aufgetreten 24 Stunden
  • über 24.000 Commits bis heute
  • Etwa 400 Pull-Anfragen wurden in Swift-Repositories zusammengeführt

Zum Zeitpunkt des Schreibens steht Swift auch auf Platz 1 von GitHub. Das ist in kürzester Zeit eine Leistung, die deutlich zeigt, dass die Entwicklungsgemeinschaft insgesamt bereit und willens ist, einen Beitrag zu leisten.

Als Entwickler ist es anregend, die Anpassung der Sprache bereits in einem "Open Source" -Tempo zu sehen. Zum Beispiel hat der beliebte iOS-Entwickler und Autor Erica Sadun bereits überzeugende Argumente für das Entfernen von C-Style-Schleifen in Swift vorgebracht. zusätzlich, -- und ++ Betreiber sind wahrscheinlich auf dem Weg nach draußen.

In Anbetracht dieser Fakten sehen wir bereits, dass Swift von Open Source profitiert. Es ist nicht nur ausgereift, sondern wird mit anderen Plattformen außer iOS kompatibel gemacht. Entwickler können die Änderungen auch öffentlich nachvollziehen. Die Anpassung der Codebases für Swift 3 sollte eigentlich kein Problem sein, da nicht mehr darauf gewartet werden muss, dass die nächste WWDC auf Fortschritte in der Sprache aufmerksam wird.

Wo soll man anfangen

Wenn Sie die Auswirkungen von Open Source in Betracht ziehen, fragen Sie sich vielleicht, wie Sie sich selbst einbringen können. Open-Source-Software kann anfangs etwas einschüchternd wirken, wenn Sie vorher noch nicht daran beteiligt waren. Ich möchte hier auf einige Möglichkeiten hinweisen, wie Sie Open Source-Software und insbesondere Swift besser verstehen können.

Soziale Outlets

Ein guter Ort, um sich mit Open Source Swift zu beschäftigen, sind die Diskussionen selbst. Es überrascht nicht, dass viele dieser Diskussionen auf Twitter beginnen. Einige bekannte Fehlerbehebungen, die über Twitter erwähnt wurden, wurden sogar behoben, bevor Swift Open Source war.

Entwickler können ihre Ideen für Swift leicht aussprechen, indem sie die niedrige Eintrittsbarriere von Twitter verwenden. Darüber hinaus müssen Sie den Prozess des Beitragens von Code noch nicht durchlaufen. Es ist ein stressfreier Weg, um einen Beitrag zu Swift zu leisten.

Es macht auch Spaß und lehrt die Interaktion mit den Entwicklern von Swift. Sie waren ziemlich aktiv auf Twitter, bevor sie zum Open Source-Schritt führten, und noch mehr danach. Hier sind einige Apple-Ingenieure, die sofort mit Swift zu tun haben.

Chris Lattner @clattner_llvm

Chris ist verantwortlich für Swift und er war auch der ursprüngliche Autor der LLVM-Compiler-Infrastruktur. Natürlich ist er immer mit der Swift-Community verbunden. Tatsächlich hat er sogar an einem Samstag um 22:00 Uhr Pull-Anfragen angenommen. Zu sagen, dass er aktiv am Projekt beteiligt ist, wäre eine Untertreibung.

Jordan Rose @UINT_MIN

Jordan ist ein weiterer erstklassiger Ingenieur von Apple, der sich hauptsächlich auf Swift konzentriert. Wie Chris ist Jordan auch eine großartige Ressource, um schnelle Fragen oder Bedenken zu stellen.

Joe Groff @jckarter

Joe ist auch ein talentierter Ingenieur, der an Swift arbeitet. Er hat mehrere Fragen zu Swift beantwortet und ist immer gerne bereit, sich mit der Community zu beschäftigen.

Beitragscode

Die Open-Source-Initiative von Swift wird über die beliebte GitHub-Plattform ausgeführt. Wenn Sie mit GitHub oder Git im Allgemeinen nicht vertraut sind, kann es sehr einschüchternd wirken, zu Swift beizutragen. Wenn dies der Fall für Sie ist, empfehle ich Ihnen, sich zuerst mit diesen Tools vertraut zu machen, und dies ist ein guter Anfang.

Um zu beginnen, müssen Sie eine lokale Umgebung einrichten. Das GitHub README von Swift ist ein hervorragender Leitfaden, den ich hier nicht wiederholen möchte. Im Grunde sind Sie bereits nach wenigen Befehlen von der Befehlszeile und den Interaktionen mit dem Repository betriebsbereit.

Klein anfangen

Wenn Sie zu Open-Source-Software oder allgemeiner Software beitragen, ist es gut, mit einem kleinen, überschaubaren Ziel zu beginnen. Tatsächlich ermutigt Chris Lattner es.

Versuchen Sie, einige Teile der Codebase zu finden und machen Sie sich mit ihnen vertraut. Von dort aus können Sie besser sehen, was verbessert werden kann. Als ersten Schritt würde ich den Swift Contributing Guide lesen.

Schnelle Open Source-Projekte

Einige aufregende (und überraschende) Nachrichten, die aus der Open-Source-Ankündigung von Swift kamen, waren Projekte, die mit der Sprache entwickelt wurden. Einige von ihnen wurden erwartet, wie der Compiler und die Standardbibliothek, und andere waren brandneue Initiativen.

Jedes der vier großen Projekte wird offen entwickelt, daher sind Beiträge willkommen. Schauen wir uns jetzt jeden einzelnen kurz an.

Compiler und Standard Library

Von swift.org übernommen, ist der Compiler von Swift „hauptsächlich dafür verantwortlich, Swift-Quellcode in effizienten, ausführbaren Maschinencode zu übersetzen.“ Selbst wenn Sie nicht mit Compilern oder deren Funktionsweise vertraut sind, ist es faszinierend, den Code zu durchsuchen nur für pädagogische Zwecke.

Die zweite Komponente dieses Projekts, die Standardbibliothek, dürfte den meisten Entwicklern bekannt sein. Es enthält alles aus den grundlegendsten Datentypen, wie z Int und Doppelt Typen auf erweiterte Sammlungstypen, wie z Array und Wörterbuch.

Wenn Sie ein begeisterter Swift-Entwickler sind, können Sie jetzt die Funktionsweise dieser Typen mitgestalten. Wenn Sie ein spezielles Feature-Set wünschen, das auf Ihre Bedürfnisse zugeschnitten ist, können Sie sogar das Repository zusammenfassen und die Typen von Swift nach Ihren Wünschen anpassen.

Swift Package Manager

Die iOS-Community hat verschiedene Wege gesehen, um Code zu verteilen. Einige populäre Wahlen schließen Cocoapods und Karthago ein. Jetzt können wir den Swift Package Manager dieser Liste hinzufügen.

Obwohl es sich in einem sehr frühen Stadium der Entwicklung befindet, finde ich dieses Projekt am interessantesten. Tatsächlich unterstützt es derzeit keine iOS, TVOS oder WatchOS. Der Support für diese Plattformen wird zwar mit der Zeit ausgereifter, kann jedoch dazu verwendet werden, Swift-Code weit über iOS oder OS X hinaus zu verbreiten.

Kernbibliotheken

Das Swift Core Library-Projekt ist eng mit der Standardbibliothek verbunden, bietet jedoch eine höhere Funktionalität. In diesem Projekt enthaltene Tools sind in der Regel plattformunabhängige Konzepte.

Zum Beispiel enthält das Kernbibliotheksprojekt Funktionen für die JSON-Analyse, das Testen von Einheiten und die Interaktion mit dem Dateisystem. Dies sind Werkzeuge, auf die sich die Plattform oder das Projekt verlassen kann.

Um dieses Projekt für iOS- und OS X-Entwickler besser verständlich zu machen, ist hier libdispatch untergebracht. Sie sind wahrscheinlich damit vertraut, da Grand Central Dispatch von dort stammt. Das heißt, es ist sinnvoll, dass es in den Kernbibliotheken enthalten ist, da die gleichzeitige Ausführung von Code nicht nur für iOS oder OS X spezifisch ist.

REPL und Debugger

Das REPL- und Debugger-Projekt ist wahrscheinlich selbsterklärend. Dieses Projekt ist für die Implementierung der vollständigen Debugging-Suite von Swift verantwortlich. Der LLDB-Debugger wird von Entwicklern schon seit geraumer Zeit verwendet, da er in Xcode enthalten ist.

REPL und Debugger sind jedoch stark gekoppelt, was sinnvoll ist, da sie in vielerlei Hinsicht einen ähnlichen Wert bieten. REPL steht für "Read Eval Print Loop" und kann für den leichten Swift-Code verwendet werden. Wenn Sie das Terminal öffnen und "Swift" eingeben, starten Sie den Swift REPL lokal.

Wie Sie sehen, gibt es sicherlich keinen Mangel an Projekten oder Komponenten von Swift, an denen Sie mitwirken können. Klischee, wie es sich anhört, ist dies nur der Anfang und mehrere neue Projekte werden im Laufe der Zeit entstehen.

Ressourcen

Zum Abschluss möchte ich Ihnen einige Ressourcen zur Verfügung stellen, die Sie verwenden können, um Ihr Wissen über die Open-Source-Landschaft von Swift zu erweitern.

Swift.org

Dies ist das offizielle Ziel für die gesamte Entwicklung von Swift. Es enthält Anleitungen für den Einstieg, Zusammenfassungen aller laufenden Projekte und vieles mehr. Dies sollte Ihre Faust aufhören, wenn Sie mitmachen wollen.

Apples Swift-Blog

Dieses ist zwar schon eine Weile da, falls Sie es noch nicht besucht haben. Es enthält viele nützliche Informationen über Swift und seine Architektur von Chris Lattner. Es bleibt abzuwarten, ob es anstelle von swift.org beibehalten wird, aber es ist immer noch eine wertvolle Ressource.

Die GitHub-Seite von Swift

Ich habe das jetzt schon einige Male erwähnt, aber hier findet die gesamte Entwicklung von Swift statt. Wenn Sie nach Code suchen, Repositorys verzweigen oder Pull-Anforderungen senden möchten, geschieht dies hier.

Die Mailingliste von Swift Evolution

Dies ist eine hervorragende Mailingliste, die Sie abonnieren können, wenn Sie vor allem daran interessiert sind, wie sich Swift weiterentwickelt und in welche Richtung sich die Sprache entwickelt. Darüber hinaus gibt es mehrere Mailinglisten, die Sie in Betracht ziehen sollten, um alle Aspekte der Entwicklung von Swift zu diskutieren. Sie können sie alle hier sehen.

Swift's Bug Board

Wie jede andere Software hat auch Swift Fehler. Dies ist die zentrale Stelle, an der das Swift-Team Fehler aufspürt und diese bis zur Behebung verfolgt. Neben Fehlern können hier auch Verbesserungen vorgeschlagen werden.

Fazit

Swift wird eine wichtige Rolle in der iOS-Entwicklung spielen. Ich denke, die Entwickler wissen, dass das seit der Ankündigung auf der WWDC 14 bekannt ist. Was aufregend ist, ist, dass es sich jetzt außerhalb von Apples Plattformen manifestiert. Stellen Sie sich vor, Sie verwenden Swift als serverseitige Sprache, wenn Sie eine API entwickeln?

Wichtiger als das Wachstum von Swift ist vielleicht die Tatsache, dass die Community die Veränderung vorantreiben wird. Open-Sourcing Swift öffnet Ihnen und der Sprache viele Türen. Jetzt ist es an der Zeit, sich zu engagieren. Lesen Sie also die Richtlinien, die dazu beitragen, und ich freue mich darauf, Ihren nächsten Einsatz im Swift-Repository zu sehen.