CHICIO CODING

Android Studio vs Xcode vs AppCode: ein kurzer Vergleich über die Kodiergeschwindigkeit

16 Jan 2018 – 4 min read

In diesem Beitrag werde ich die Kodiergeschwindigkeit vergleichen, die man mit Android Studio, Xcode und einigen JetBrains IDEs in Bezug auf die Codeerstellung und das Refactoring erreichen kann.

IDE, Integrated Development Environment, sind die Werkzeugkästen für Softwareentwickler. Als ich bei lastminute.com anfing zu arbeiten, war mein Wissen über die Android-Plattform sehr begrenzt. Aber… lastminute.com group ist ein agiles Softwareentwicklungsunternehmen und eine der Techniken, die wir während unseres Entwicklungsworkflows verwenden, ist die Paarprogrammierung: zwei Entwickler arbeiten an derselben Funktion auf derselben Workstation.

Einer der Hauptvorteile der Paarprogrammierung ist der Wissensaustausch:

Wissen wird ständig zwischen Paarprogrammierern geteilt, ob in der Industrie oder in einem Klassenzimmer, viele Quellen deuten darauf hin, dass Studenten ein höheres Selbstvertrauen zeigen, wenn sie in Paaren programmieren, und viele lernen, sei es von Tipps zu Programmiersprachenregeln bis hin zu allgemeinen Designfähigkeiten. Beim „Promiscuous Pairing“ kommuniziert und arbeitet jeder Programmierer mit allen anderen Programmierern im Team, anstatt sich nur mit einem Partner zu paaren, was dazu führt, dass sich das Wissen über das System im gesamten Team verbreitet. Die Paarprogrammierung ermöglicht es den Programmierern, den Code ihres Partners zu prüfen und Feedback zu geben, was notwendig ist, um ihre eigene Fähigkeit zu verbessern, Überwachungsmechanismen für ihre eigenen Lernaktivitäten zu entwickeln.

Aus diesem Grund begann ich mit meinem Kollegen Francesco Bonfadelli, einem leitenden Android-, iOS- und Backend-Entwickler, zu arbeiten. Während unserer Pair-Programming-Sitzungen habe ich viel über die Entwicklung mobiler Apps für die Android-Plattform gelernt. Eines der Dinge, die ich in den ersten Tagen gelernt habe, ist der Unterschied zwischen den offiziellen IDEs: Android Studio und Xcode. Nachdem ich gesehen habe, wie schnell Francesco während einer Android-Codierungssitzung programmieren konnte und wie viel langsamer es ist, die gleichen Dinge in Xcode für iOS zu tun, wurde mir klar, wie viel fortschrittlicher Android Studio mit seinen Refactoring-Funktionen im Vergleich zu Xcode ist.
In diesem Beitrag werde ich kurz einige IDEs analysieren, die häufig für die Entwicklung mobiler Anwendungen verwendet werden, wobei ich mich auf die Codiergeschwindigkeit konzentriere, die mit ihnen erreicht werden kann, und ich werde Ihnen erklären, warum ich zum Zeitpunkt dieses Schreibens begonnen habe, die JetBrains IDE-Familie zu bevorzugen (nicht nur für die Entwicklung mobiler Anwendungen :bowtie:).

Xcode

Ich habe Xcode immer geliebt. Ich habe vor 8 Jahren angefangen, es zu benutzen und es begleitet mich immer noch bei meiner täglichen Arbeit. Es öffnet sich in wenigen Sekunden und man kann sehr schnell mit dem Programmieren beginnen. Aber…. was passiert, wenn der Code Ihrer Anwendung immer komplexer wird und Sie ein einfaches Refactoring durchführen müssen? Hilft es Ihnen in irgendeiner Weise, wenn Sie eine neue Klasse/Eigenschaft erstellen müssen? Hilft es Ihnen, wenn Sie in Ihrem Code navigieren und schnell von einer Klasse zur anderen springen müssen? Nun, um ehrlich zu sein, hilft es Ihnen nicht so sehr. Selbst ein einfaches Umbenennen kann zu einer mühsamen Angelegenheit werden, besonders wenn Sie ein Projekt mit gemischten Swift/Objective-C-Teilen haben. Dann muss alles manuell gemacht werden. Betrachten Sie zum Beispiel diese Liste von gemischten Code-Erstellungs-/Refactoring-Operationen:

  • Erstellen einer neuen Klasse
  • Instantiieren und als lokale Variable speichern
  • Hinzufügen einer Methode zur vorherigen Klasse
  • Hinzufügen eines Parameters zur zuvor erstellten Methode
  • Extrahieren der lokalen Variable als Eigenschaft des Controllers, in dem ich sie erstellt habe

Im folgenden Video werde ich versuchen, diese Operationen in Xcode durchzuführen. Zum Zeitpunkt dieses Schreibens ist die verfügbare Xcode-Version 9.2.

Mehr als 2 Minuten, um all die Dinge in der obigen Liste zu implementieren.Wirklich langsam, nicht wahr?!? :ängstlich:

Android Studio

Vor der lastminute.com-Gruppe hatte ich Android Studio nur ein paar Mal für ein paar sehr einfache Android-Apps verwendet. Dann begann ich mit Francesco zu arbeiten und er machte mich mit der Leistungsfähigkeit der JetBrains IDEs bekannt. Diese IDE bietet die Möglichkeit, schnell im Quellcode zu navigieren, Klassen zu erstellen und zu ändern und erlaubt es, eine Menge anderer Refactoring-Operationen durchzuführen, ohne die Tastatur zu verlassen! Im Grunde können Sie Code schreiben und Ihre Maus vergessen!!! :open_mouth:. Die Liste der Tastaturkürzel, die Sie in Ihrem Entwicklungsablauf verwenden können, ist endlos. Die vollständige Liste finden Sie hier. Lassen Sie uns versuchen, genau die gleichen Operationen durchzuführen, die ich zuvor mit Xcode durchgeführt habe, und ich füge auch eine Umbenennung der Klasse hinzu, die am Ende aller vorherigen Operationen erstellt wurde. Zum Zeitpunkt dieses Schreibens ist die verfügbare Android Studio Version 3.0.1.

Nur 50 Sekunden und ich habe alles gemacht (und ich habe nicht hart auf die Tastatur gedrückt…:stuck_out_tongue_winking_eye:).Wie Sie sehen können, gibt Android Studio Ihnen die Möglichkeit, Code mit Lichtgeschwindigkeit zu schreiben!!! :flushed:.

AppCode

Wie Sie sich vorstellen können, habe ich mich nach ein paar Stunden Arbeit mit Android Studio gefragt, ob es eine IDE gibt, mit der ich denselben Stil und Arbeitsablauf beim Schreiben von Code einrichten kann. Hier zeigte mir ein anderer Kollege, mit dem ich zusammenarbeitete, Tommaso Resti, ein erfahrener iOS- und Android-Entwickler, zum ersten Mal AppCode. Dies ist eine weitere IDE von JetBrains für die iOS-Entwicklung. Sie ermöglicht es Ihnen, Ihre Entwicklungsgeschwindigkeit zu erhöhen, indem Sie einige der Refactoring-Tools verwenden können, die Sie auch in Android Studio finden. Allerdings ist in diesem Fall nicht alles friedlich und leicht. Einige der Refactoring-Tools sind für Swift nicht verfügbar, und Sie benötigen weiterhin Xcode, um mit Xib und Storyboard zu arbeiten (das JetBrains-Team hat ein Plugin für den Interface Builder entwickelt, das aber nicht mehr weiterentwickelt wird). Wie auch immer, wenn Sie sich an den Arbeitsablauf beim Schreiben von Android Studio gewöhnt haben, werden Sie sich mit AppCode :entspannt:.

Abschließende Gedanken

Android Studio und AppCode basieren auf IntelliJ IDEA, der berühmten Java IDE von JetBrains. Aber das ist nur die Hälfte der Geschichte: Die IDE-Familie von JetBrains ist wirklich groß. Sie können eine IDE für jede Ihrer Lieblingssprachen finden:

  • CLion, für C und C++
  • PhpStorm
  • PyCharm
  • RubyMine für Ruby
  • GoLand für GO
  • Rider für C#

So keine Sorge: Wenn Sie anfangen wollen, Ihre Programmiergeschwindigkeit zu verbessern, gibt es wahrscheinlich eine IDE für Ihre Lieblingssprache. Xcode wird immer einen besonderen Platz in meinem Herzen haben. Ich werde es auch weiterhin in meiner täglichen Arbeit als Mobilentwickler verwenden. Aber… die Programmiergeschwindigkeit, die ich mit den JetBrains-IDEs erreicht habe, konnte ich nicht ignorieren :smiling_imp:. Deshalb habe ich angefangen, sie zu bevorzugen :heart:.