CHICIO CODING

Android Studio vs Xcode vs AppCode: krótkie porównanie o szybkości kodowania

16 Jan 2018 – 4 min read

W tych postach porównam szybkość kodowania, jaką można osiągnąć za pomocą Android Studio, Xcode i niektórych IDE firmy JetBrains w zakresie tworzenia kodu i refaktoryzacji.

IDE, Integrated Development Environment, są zestawami narzędzi dla programistów. Kiedy zacząłem pracować w grupie lastminute.com, moja wiedza na temat platformy Android była bardzo ograniczona. Ale… grupa lastminute.com jest zwinną firmą zajmującą się tworzeniem oprogramowania i jedną z technik, których używamy podczas naszego przepływu pracy jest programowanie w parach: dwóch programistów pracuje nad tą samą funkcją na tej samej stacji roboczej.Jak podaje Wikipedia, jedną z głównych zalet programowania w parach jest dzielenie się wiedzą:

Wiedza jest stale dzielona między programistami w parach, czy to w przemyśle, czy w klasie, wiele źródeł sugeruje, że studenci wykazują większą pewność siebie, gdy programują w parach, a wielu uczy się, czy to od wskazówek na temat zasad języka programowania do ogólnych umiejętności projektowania. W „promiscuous pairing”, każdy programista komunikuje się i pracuje ze wszystkimi innymi programistami w zespole, zamiast łączyć się w pary tylko z jednym partnerem, co powoduje, że wiedza o systemie rozprzestrzenia się na cały zespół. Programowanie w parach pozwala programistom badać kod partnera i przekazywać informacje zwrotne, które są niezbędne do zwiększenia ich własnych zdolności do rozwijania mechanizmów monitorowania własnych działań edukacyjnych.

Dlatego zacząłem pracować z moim kolegą Francesco Bonfadellim, starszym programistą Android, iOS i Backend. Podczas naszych sesji programowania w parach nauczyłem się wiele na temat tworzenia aplikacji mobilnych na platformę Android. Jedną z rzeczy, których nauczyłem się w ciągu pierwszych kilku dni, jest różnica pomiędzy oficjalnymi IDE: Android Studio i Xcode. Po zobaczeniu szybkości kodowania, jaką Francesco był w stanie osiągnąć podczas sesji kodowania Androida, i o ile wolniej jest robić te same rzeczy w Xcode dla iOS, zdałem sobie sprawę, o ile bardziej zaawansowane jest Android Studio ze swoim zestawem funkcji refaktoryzacji w porównaniu do Xcode.
W tym poście krótko przeanalizuję niektóre IDE powszechnie używane do tworzenia aplikacji mobilnych, skupiając się na szybkości kodowania, jaką można osiągnąć przy ich użyciu i wyjaśnię wam, dlaczego w momencie pisania tego tekstu zacząłem preferować rodzinę IDE firmy JetBrains (nie tylko do tworzenia aplikacji mobilnych :bowtie:).

Xcode

Zawsze uwielbiałem Xcode. Zacząłem go używać 8 lat temu i nadal jest ze mną podczas mojej codziennej pracy. Otwiera się w kilka sekund i możesz zacząć kodować bardzo szybko. Ale…. co się dzieje, gdy kod twojej aplikacji zaczyna rosnąć pod względem złożoności i musisz wykonać prostą operację refaktoryzacji? Czy to pomaga w jakiś sposób, gdy trzeba utworzyć nową klasę / właściwość? Czy pomaga Ci, gdy musisz poruszać się w kodzie i musisz szybko przeskakiwać z jednej klasy do drugiej? Cóż, szczerze mówiąc nie pomaga to aż tak bardzo. Nawet prosta zmiana nazwy może stać się bolesną operacją, szczególnie jeśli masz projekt z mieszanymi częściami Swift/Objective-C. Wszystko musi być zrobione ręcznie. Wszystko musi być zrobione ręcznie. Rozważmy na przykład tę listę mieszanych operacji tworzenia/refaktoryzacji kodu:

  • stworzenie nowej klasy
  • zainicjowanie jej i przechowywanie jako zmiennej lokalnej
  • dodanie metody do poprzedniej klasy
  • dodanie parametru do wcześniej utworzonej metody
  • wyodrębnienie zmiennej lokalnej jako właściwości kontrolera, w którym ją utworzyłem

W poniższym filmie spróbuję wykonać te operacje w Xcode. W momencie pisania tego tekstu dostępna wersja Xcode to 9.2.

Ponad 2 minuty, aby zaimplementować wszystkie rzeczy z powyższej listy.Naprawdę wolno, prawda?!?? :fearful:

Android Studio

Przed grupą lastminute.com, użyłem Android Studio tylko kilka razy dla kilku bardzo prostych aplikacji na Androida. Potem zacząłem pracować z Francesco i on wprowadził mnie w moc JetBrains IDEs. To IDE daje możliwość szybkiego poruszania się po kodzie źródłowym, tworzenia i modyfikowania klas oraz pozwala na wiele innych operacji refaktoryzacji bez odchodzenia od klawiatury! W zasadzie możesz pisać kod i zapomnieć o myszce!!! :open_mouth:. Lista skrótów klawiaturowych, których możesz użyć w swoim procesie programowania jest nieskończona. Możesz znaleźć kompletną listę tutaj. Spróbujmy wykonać dokładnie te same operacje, które wykonałem wcześniej z Xcode, a także dodaję zmianę nazwy klasy utworzonej na końcu wszystkich poprzednich operacji. W chwili pisania tego tekstu dostępna wersja Android Studio to 3.0.1.

Tylko 50 sekund i zrobiłem wszystkie rzeczy (i nie naciskałem mocno na klawiaturę…:stuck_out_tongue_winking_eye:).Jak widać, Android Studio daje możliwość pisania kodu z prędkością światła!!! :flushed:.

AppCode

Jak możesz sobie wyobrazić, po przepracowaniu kilku godzin z Android Studio, zacząłem się zastanawiać, czy istnieje IDE, które pozwoliło mi skonfigurować ten sam styl pisania kodu i przepływ pracy. Tutaj inny kolega, z którym pracowałem, Tommaso Resti, starszy programista iOS i Android, pokazał mi AppCode po raz pierwszy. Jest to kolejne IDE od JetBrains dla rozwoju iOS. Pozwala ono na zwiększenie szybkości rozwoju poprzez umożliwienie korzystania z niektórych narzędzi refaktoryzacji, które można znaleźć w Android Studio. Jednak w tym przypadku to nie wszystko jest spokojne i lekkie. Niektóre z narzędzi do refaktoryzacji nie są dostępne dla Swift i nadal będziesz potrzebował Xcode do pracy na Xib i Storyboard (zespół JetBrains opracował wtyczkę dla konstruktora interfejsu, ale to zostało przerwane). W każdym razie, jeśli zaczniesz przyzwyczajać się do przepływu pracy Android Studio do pisania kodu, poczujesz się jak w domu z AppCode :relaxed:.

Ostatnie myśli

Android Studio i AppCode są oparte na IntelliJ IDEA, słynnym Java IDE od JetBrains. Ale to tylko połowa historii: Rodzina IDE JetBrains jest naprawdę duża. Możesz znaleźć IDE dla każdego ze swoich ulubionych języków:

  • CLion, dla C i C++
  • PhpStorm
  • PyCharm
  • RubyMine dla Ruby
  • GoLand dla GO
  • Rider dla C#

Więc nie ma obaw: jeśli chcesz zacząć poprawiać swoją szybkość kodowania, prawdopodobnie istnieje IDE dla twojego ulubionego języka. Xcode zawsze będzie miał specjalne miejsce w moim sercu. Nadal będę z niego korzystał w mojej codziennej pracy jako programista mobilny. Ale… szybkość kodowania, którą zyskałem dzięki IDE JetBrains nie mogła zostać zignorowana :smiling_imp:. Dlatego właśnie zacząłem je preferować :heart:.

.