CHICIO CODING
Android Studio vs Xcode vs AppCode: een korte vergelijking over codeersnelheid
16 jan 2018 – 4 min read
In deze posts zal ik de codeersnelheid vergelijken die het mogelijk is om te bereiken met Android Studio, Xcode, en sommige JetBrains IDE’s in termen van code creatie en refactoring.
IDE, Integrated Development Environment, zijn de software ontwikkelaars toolboxen. Toen ik begon te werken bij de lastminute.com groep was mijn kennis van het Android platform zeer beperkt. Maar… lastminute.com group is een agile software development bedrijf en een van de technieken die we gebruiken tijdens onze development workflow is pair programming: twee ontwikkelaars werken aan dezelfde functie op hetzelfde werkstation.Zoals gemeld op Wikipedia, een van de belangrijkste voordelen van pair programming is het delen van kennis:
Kennis wordt constant gedeeld tussen pair programmeurs, of het nu in de industrie of in een klaslokaal is, veel bronnen suggereren dat studenten meer vertrouwen tonen wanneer ze programmeren in paren, en veel leren of het nu gaat om tips over programmeertaal regels tot algemene ontwerp vaardigheid. Bij “promiscuous pairing” communiceert en werkt elke programmeur met alle andere programmeurs in het team in plaats van slechts met één partner te pairen, waardoor de kennis van het systeem zich door het hele team verspreidt. Pair programming stelt de programmeurs in staat om de code van hun partner te onderzoeken en feedback te geven, wat nodig is om hun eigen vermogen te vergroten om controlemechanismen te ontwikkelen voor hun eigen leeractiviteiten.
Daarom ben ik gaan samenwerken met mijn collega Francesco Bonfadelli, een senior Android, iOS en Backend ontwikkelaar. Tijdens onze pair programming-sessies heb ik veel geleerd over het ontwikkelen van mobiele apps voor het Android-platform. Een van de dingen die ik in de eerste paar dagen heb geleerd is het verschil tussen de officiële IDE’s: Android Studio en Xcode. Na het zien van de codeersnelheid die Francesco kon bereiken tijdens een Android codeersessie, en hoeveel langzamer het is om dezelfde dingen te doen in Xcode voor iOS, realiseerde ik me hoeveel geavanceerder Android Studio is met zijn set van refactoring functies in vergelijking met Xcode.
In dit bericht zal ik kort een aantal IDE’s analyseren die vaak worden gebruikt voor de ontwikkeling van mobiele applicaties, met de nadruk op de coderingssnelheid die kan worden bereikt door ze te gebruiken en ik zal je uitleggen waarom, op het moment van dit schrijven, ik de voorkeur ben gaan geven aan de JetBrains IDE’s familie (niet alleen voor de ontwikkeling van mobiele applicaties ).
Xcode
Ik heb altijd van Xcode gehouden. Ik begon het 8 jaar geleden te gebruiken en het is nog steeds bij me tijdens mijn dagelijkse werk. Het opent in een paar seconden en je kunt heel snel beginnen met coderen. Maar…. wat gebeurt er als je app code begint toe te nemen in termen van complexiteit en je een eenvoudige refactoring operatie moet doen? Helpt het je op een of andere manier wanneer je een nieuwe klasse/eigenschap moet creëren? Helpt het je wanneer je moet navigeren in je code en je snel van de ene klasse naar de andere moet springen? Nou, om eerlijk te zijn helpt het je niet zo veel. Zelfs een eenvoudige hernoeming kan een pijnlijke operatie worden, vooral als je een project hebt met gemengde Swift/Objective-C delen. Alles moet handmatig worden gedaan. Beschouw bijvoorbeeld deze lijst van gemengde code creatie/refactoring operaties:
- maak een nieuwe klasse
- instantie en bewaar deze als een lokale variabele
- voeg een methode toe aan de vorige klasse
- voeg een parameter toe aan de eerder gemaakte methode
- extraheer de lokale variabele als een eigenschap van controller waarin ik hem heb gemaakt
In de volgende video zal ik proberen deze bewerkingen in Xcode uit te voeren. Op het moment van dit schrijven is de beschikbare Xcode versie 9.2.
Meer dan 2 minuten om alle dingen in de bovenstaande lijst te implementeren.Echt traag, is het niet?!??
Android Studio
Vóór de lastminute.com-groep had ik Android Studio slechts een paar keer gebruikt voor een paar heel eenvoudige Android-apps. Toen begon ik te werken met Francesco en hij introduceerde me in de kracht van JetBrains IDEs. Deze IDE geeft je de mogelijkheid om snel in je broncode te navigeren, classes te maken en te wijzigen, en staat je toe om een heleboel andere refactoring operaties te doen zonder het toetsenbord te verlaten! In principe kun je code schrijven en je muis vergeten!! . De lijst van sneltoetsen die je kunt gebruiken in je ontwikkelproces is eindeloos. Je kunt de complete lijst hier vinden. Laten we proberen om precies dezelfde handelingen te doen die ik eerder met Xcode heb gedaan, en ik voeg ook een hernoeming toe van de klasse die aan het eind van alle vorige handelingen is gemaakt. Op het moment van dit schrijven is de beschikbare Android Studio versie 3.0.1.
Nauwelijks 50 seconden en ik heb alles gedaan (en ik drukte niet hard op het toetsenbord…).Zoals je kunt zien, Android Studio geeft je de mogelijkheid om code te schrijven met de snelheid van het licht!!! .
AppCode
Zoals je je kunt voorstellen, na een paar uur met Android Studio gewerkt te hebben, begon ik me af te vragen of er een IDE is waarmee ik dezelfde schrijfcode stijl en workflow kan instellen. Hier liet een andere collega waar ik mee werkte, Tommaso Resti, een senior iOS en Android ontwikkelaar, me AppCode zien voor de eerste keer. Dit is een andere IDE van JetBrains voor iOS ontwikkeling. Het laat je toe om je ontwikkelsnelheid te verbeteren door je toe te laten om enkele van de refactoring tools te gebruiken die je kan vinden in Android Studio. Het is echter niet allemaal vrede en licht in dit geval. Sommige van de refactoring tools zijn niet beschikbaar voor Swift en je hebt nog steeds Xcode nodig om met Xib en Storyboard te werken (het JetBrains team ontwikkelde een plugin voor interface builder, maar die is stopgezet). Hoe dan ook, als je begint te wennen aan de Android Studio schrijfcode workflow, zul je je thuis voelen met AppCode .
Final thoughts
Android Studio en AppCode zijn gebaseerd op IntelliJ IDEA, de beroemde Java IDE van JetBrains. Maar dat is slechts de helft van het verhaal: JetBrains IDE familie is echt groot. U kunt een IDE vinden voor elk van uw favoriete talen:
- CLion, voor C en C++
- PhpStorm
- PyCharm
- RubyMine voor Ruby
- GoLand voor GO
- Rider voor C#
Dus geen zorgen: als u wilt beginnen met het verbeteren van uw codeersnelheid is er waarschijnlijk een IDE voor uw favoriete taal. Xcode zal altijd een speciaal plekje in mijn hart hebben. Ik zal het nog steeds blijven gebruiken in mijn dagelijkse werk als een mobiele ontwikkelaar. Maar… de codeersnelheid die ik behaalde met de JetBrains IDE’s kon ik niet negeren . Dit is waarom ik ze ben gaan prefereren .