CHICIO CODING

Android Studio vs Xcode vs AppCode: lyhyt vertailu koodausnopeudesta

16.1.2018 – 4 min lue

Tässä postauksessa vertailen koodausnopeutta, joka on mahdollista saavuttaa Android Studiolla, Xcode:lla ja joillakin JetBrainsin IDE-ohjelmistoilla koodin luomisessa ja refaktoroinnissa.

IDE, Integrated Development Environment, ovat ohjelmistokehittäjien työkalupakkeja. Kun aloin työskennellä lastminute.com-ryhmässä, tietämykseni Android-alustasta oli hyvin rajallinen. Mutta… lastminute.com group on ketterä ohjelmistokehitysyritys, ja yksi tekniikka, jota käytämme kehitysprosessissamme, on pariohjelmointi: kaksi kehittäjää työskentelee saman ominaisuuden parissa samalla työasemalla.Kuten Wikipediassa kerrotaan, yksi pariohjelmoinnin tärkeimmistä eduista on tiedon jakaminen:

Tietoa jaetaan jatkuvasti pariohjelmoijien välillä, olipa kyse sitten teollisuudesta tai luokkahuoneesta, monet lähteet viittaavat siihen, että opiskelijat osoittavat suurempaa itseluottamusta, kun he ohjelmoivat ohjelmointia pareittain, ja moni oppii olipa kyseessä sitten vinkit ohjelmointikielen sääntöihin liittyvästä vinkkipaketista tai yleisestä suunnittelusta. ”Laaja-alaisessa parityöskentelyssä” kukin ohjelmoija kommunikoi ja työskentelee tiimin kaikkien muiden ohjelmoijien kanssa sen sijaan, että parityöskentelisi vain yhden parin kanssa, jolloin tieto järjestelmästä leviää koko tiimiin. Parityöskentely antaa ohjelmoijille mahdollisuuden tutkia kumppaninsa koodia ja antaa palautetta, mikä on välttämätöntä, jotta ohjelmoijat voivat lisätä omaa kykyään kehittää seurantamekanismeja omaa oppimistoimintaansa varten.

Sen vuoksi aloin työskennellä kollegani Francesco Bonfadellin kanssa, joka on vanhempi Android-, iOS- ja Backend-kehittäjä. Pariohjelmointisessioissamme opin paljon mobiilisovellusten kehittämisestä Android-alustalle. Yksi asia, jonka opin ensimmäisinä päivinä, on virallisten IDE-ohjelmien välinen ero: Android Studio ja Xcode. Nähtyäni sen koodausnopeuden, jonka Francesco pystyi saavuttamaan Android-koodaussession aikana, ja sen, kuinka paljon hitaampaa on tehdä samat asiat Xcodessa iOS:lle, tajusin, kuinka paljon kehittyneempi Android Studio ja sen refaktorointiominaisuudet ovat Xcodeen verrattuna.
Tässä postauksessa analysoin lyhyesti joitakin mobiilisovelluskehityksessä yleisesti käytettyjä IDE-ohjelmia keskittyen koodausnopeuteen, joka on mahdollista saavuttaa niitä käyttämällä, ja selitän teille, miksi tätä kirjoittaessani aloin suosia JetBrainsin IDE-perhettä (ei vain mobiilisovelluskehitykseen :bowtie:).

Xcode

Olen aina rakastanut Xcodea. Aloin käyttää sitä 8 vuotta sitten ja se on edelleen mukana päivittäisessä työssäni. Se aukeaa muutamassa sekunnissa ja koodaamisen voi aloittaa hyvin nopeasti. Mutta…. mitä tapahtuu, kun sovelluksesi koodi alkaa kasvaa monimutkaisemmaksi ja sinun täytyy tehdä yksinkertainen refaktorointioperaatio? Auttaako se jotenkin, kun pitää luoda uusi luokka/ominaisuus? Auttaako se sinua, kun sinun on navigoitava koodissasi ja sinun on hypättävä nopeasti luokasta toiseen? No, rehellisesti sanottuna se ei auta kovin paljon. Jopa yksinkertaisesta uudelleennimeämisestä voi tulla tuskallinen operaatio, varsinkin jos sinulla on projekti, jossa on sekaisin Swift/Objective-C-osia. Kaikki on tehtävä manuaalisesti. Mieti esimerkiksi tätä luetteloa sekakoodin luonti-/refaktorointioperaatioista:

  • luo uusi luokka
  • instantioi se ja pidä se paikallisena muuttujana
  • lisää metodi edelliseen luokkaan
  • lisää parametri aiemmin luotuun metodiin
  • osta paikallinen muuttuja sen kontrollerin ominaisuudeksi, jossa sen loin

Seuraavassa videossa yritän tehdä nämä operaatiot Xcodessa. Tätä kirjoitettaessa saatavilla oleva Xcode-versio on 9.2.

Yli 2 minuuttia toteuttaa kaikki yllä olevan listan jutut. todella hidasta, eikö olekin!!!? :fearful:

Android Studio

Ennen lastminute.com-ryhmää olin käyttänyt Android Studiota vain muutaman kerran hyvin yksinkertaisiin Android-sovelluksiin. Sitten aloin työskennellä Francescon kanssa ja hän esitteli minulle JetBrainsin IDE:n tehon. Tämä IDE antaa sinulle mahdollisuuden navigoida nopeasti lähdekoodissasi, luoda ja muokata luokkia ja tehdä monia muita refaktorointitoimintoja poistumatta näppäimistöltä! Periaatteessa voit kirjoittaa koodia ja unohtaa hiiren!!! :open_mouth:. Lista pikanäppäimistä, joita voit käyttää kehitysvirrassasi, on loputon. Löydät täydellisen listan täältä. Yritetään tehdä täsmälleen samat toiminnot, jotka tein aiemmin Xcodella, ja lisään myös luodun luokan uudelleennimeämisen kaikkien edellisten toimintojen loppuun. Tätä kirjoitettaessa saatavilla oleva Android Studion versio on 3.0.1.

Vain 50 sekuntia ja tein kaikki jutut (enkä painanut kovasti näppäimistöä…:stuck_out_tongue_tinking_eye:) Kuten huomaat, Android Studio antaa sinulle mahdollisuuden kirjoittaa koodia valon nopeudella!!! :flushed:.

AppCode

Kuten voitte kuvitella, työskenneltyäni muutaman tunnin Android Studion kanssa aloin miettiä, onko olemassa IDE:tä, jonka avulla voin määrittää saman koodin kirjoitustyylin ja työnkulun. Tässä toinen kollegani, jonka kanssa työskentelin, Tommaso Resti, vanhempi iOS- ja Android-kehittäjä, näytti minulle AppCodea ensimmäistä kertaa. Tämä on toinen JetBrainsin IDE iOS-kehitykseen. Sen avulla voit parantaa kehitysnopeuttasi käyttämällä joitakin refaktorointityökaluja, jotka löytyvät Android Studiosta. Tässä tapauksessa kaikki ei kuitenkaan ole pelkkää rauhaa ja valoa. Joitakin refaktorointityökaluja ei ole saatavilla Swiftille, ja tarvitset edelleen Xcodea työskennelläksesi Xibin ja Storyboardin kanssa (JetBrains-tiimi kehitti lisäosan käyttöliittymän rakentajalle, mutta se on lopetettu). Joka tapauksessa, jos alat tottua Android Studion koodin kirjoittamisen työnkulkuun, tunnet olosi kotoisaksi AppCoden kanssa :relaxed:.

Loppuajatuksia

Android Studio ja AppCode perustuvat IntelliJ IDEAan, JetBrainsin kuuluisaan Java IDE:hen. Mutta se on vain puolet tarinasta: JetBrainsin IDE-perhe on todella suuri. Löydät IDE:

  • CLion, C:lle ja C++:lle
  • PhpStorm
  • PyCharm
  • RubyMine Rubylle
  • GoLand GO:lle
  • Rider C#:lle

Ei siis hätää: Jos haluat alkaa parantaa koodausnopeuttasi, luultavasti on olemassa IDE suosikkikielellesi. Xcodella tulee aina olemaan erityinen paikka sydämessäni. Käytän sitä edelleen päivittäisessä työssäni mobiilikehittäjänä. Mutta… JetBrainsin IDE-ohjelmilla saavuttamaani koodausnopeutta ei voinut sivuuttaa :smiling_imp:. Tämän vuoksi aloin suosia niitä :heart:.