CHICIO CODING
Android Studio vs Xcode vs AppCode: en kort jämförelse om kodningshastighet
16 jan 2018 – 4 min read
I det här inlägget kommer jag att jämföra den kodningshastighet som det är möjligt att uppnå med Android Studio, Xcode och vissa IDE från JetBrains när det gäller skapande och refaktorisering av kod.
IDE, Integrated Development Environment, är verktygslådor för programvaruutvecklare. När jag började arbeta på lastminute.com group var min kunskap om Android-plattformen mycket begränsad. Men… lastminute.com group är ett agilt programvaruutvecklingsföretag och en av de tekniker vi använder under vårt utvecklingsarbetsflöde är parprogrammering: två utvecklare arbetar med samma funktion på samma arbetsstation. enligt Wikipedia är en av de viktigaste fördelarna med parprogrammering kunskapsdelning:
Vetenskap delas ständigt mellan parprogrammerare, oavsett om det är i branschen eller i ett klassrum, många källor tyder på att eleverna har större självförtroende när de programmerar i par, och många lär sig, oavsett om det handlar om tips om regler för programmeringsspråk eller övergripande designkunskap. Vid ”promiscuous pairing” kommunicerar och arbetar varje programmerare med alla andra programmerare i teamet i stället för att bara para sig med en partner, vilket gör att kunskapen om systemet sprids i hela teamet. Parprogrammering gör det möjligt för programmerarna att granska sin partners kod och ge feedback, vilket är nödvändigt för att öka deras egen förmåga att utveckla övervakningsmekanismer för sina egna inlärningsaktiviteter.
Detta är anledningen till att jag började arbeta med min kollega Francesco Bonfadelli, en senior Android-, iOS- och Backend-utvecklare. Under våra parprogrammeringssessioner lärde jag mig mycket om att utveckla mobilappar för Android-plattformen. En av de saker jag lärde mig under de första dagarna är skillnaden mellan de officiella IDE:erna: Android Studio och Xcode. Efter att ha sett den kodningshastighet som Francesco kunde uppnå under en kodningssession för Android, och hur mycket långsammare det är att göra samma saker i Xcode för iOS, insåg jag hur mycket mer avancerad Android Studio är med sin uppsättning refaktoriseringsfunktioner i jämförelse med Xcode.
I det här inlägget kommer jag att kortfattat analysera några IDEs som vanligen används för utveckling av mobilapplikationer med fokus på den kodningshastighet som är möjlig att uppnå genom att använda dem och jag kommer att förklara för dig varför jag vid tidpunkten för den här skrivningen började föredra JetBrains IDEs-familj (inte bara för utveckling av mobilapplikationer ).
Xcode
Jag har alltid älskat Xcode. Jag började använda det för 8 år sedan och det är fortfarande här med mig under mitt dagliga arbete. Den öppnas på några sekunder och du kan börja koda väldigt snabbt. Men…. vad händer när din appkod börjar öka i komplexitet och du behöver göra en enkel refaktorisering? Hjälper det dig på något sätt när det behöver skapas en ny klass/egenskap? Hjälper det dig när du behöver navigera i din kod och du behöver hoppa snabbt från en klass till en annan? Om jag ska vara ärlig så hjälper det dig inte så mycket. Även en enkel omdöpning kan bli en smärtsam operation, särskilt om du har ett projekt med blandade Swift/Objective-C-delar. Allt måste göras manuellt. Tänk till exempel på den här listan över blandade kodskapande/refactoringoperationer:
- skapa en ny klass
- instantiera den och behåll den som en lokal variabel
- lägga till en metod till den tidigare klassen
- lägga till en parameter till den metod som tidigare skapats
- extrahera den lokala variabeln som en egenskap hos den kontrollant i vilken jag skapade den
I följande video kommer jag att försöka göra dessa åtgärder i Xcode. När detta skrivs är den tillgängliga Xcode-versionen 9.2.
Mer än 2 minuter för att implementera alla saker i listan ovan.Verkligen långsamt, eller hur?!????
Android Studio
För lastminute.com-gruppen hade jag använt Android Studio bara några få gånger för några mycket enkla Android-appar. Sedan började jag arbeta med Francesco och han introducerade mig till kraften i JetBrains IDEs. Denna IDE ger dig möjlighet att snabbt navigera i din källkod, skapa och ändra klasser och låter dig göra många andra refaktoriseringar utan att lämna tangentbordet! I princip kan du skriva kod och glömma musen! . Listan över tangentbordsgenvägar som du kan använda i ditt utvecklingsflöde är oändlig. Du kan hitta den fullständiga listan här. Låt oss försöka göra exakt samma operationer som jag gjorde tidigare med Xcode, och jag lägger även till ett namnbyte av klassen som skapats i slutet av alla tidigare operationer. När detta skrivs är den tillgängliga Android Studio versionen 3.0.1.
Endast 50 sekunder och jag gjorde allt (och jag tryckte inte hårt på tangentbordet…) Som du kan se ger Android Studio dig möjligheten att skriva kod med ljusets hastighet!!!! .
AppCode
Som du kan se, efter att ha arbetat några timmar med Android Studio, började jag undra om det finns ett IDE som låter mig ställa in samma stil och arbetsflöde för att skriva kod. Här visade en annan kollega som jag arbetade med, Tommaso Resti, en senior iOS- och Android-utvecklare, mig AppCode för första gången. Detta är ett annat IDE från JetBrains för iOS-utveckling. Det ger dig möjlighet att förbättra din utvecklingshastighet genom att du kan använda några av de refaktoriseringsverktyg som du hittar i Android Studio. Allt är dock inte frid och fröjd i det här fallet. Några av refaktoriseringsverktygen finns inte tillgängliga för Swift och du behöver fortfarande Xcode för att arbeta med Xib och Storyboard (JetBrains-teamet utvecklade ett plugin för interface builder, men det har lagts ned). Hur som helst, om du börjar vänja dig vid arbetsflödet för att skriva kod i Android Studio kommer du att känna dig hemma med AppCode .
Sluttliga tankar
Android Studio och AppCode är baserade på IntelliJ IDEA, den berömda Java IDE från JetBrains. Men det är bara halva historien: JetBrains IDE-familj är riktigt stor. Du kan hitta ett IDE för vart och ett av dina favoritspråk:
- CLion, för C och C++
- PhpStorm
- PyCharm
- RubyMine för Ruby
- GoLand för GO
- Rider för C#
Så oroa dig inte: Om du vill börja förbättra din kodningshastighet finns det förmodligen en IDE för ditt favoritspråk. Xcode kommer alltid att ha en särskild plats i mitt hjärta. Jag kommer fortfarande att fortsätta att använda det i mitt dagliga arbete som mobilutvecklare. Men… den kodningshastighet jag fick med JetBrains IDE kunde inte ignoreras . Det är därför jag började föredra dem .
.