Czy powinienem używać języka Swift czy Objective-C do nauki programowania aplikacji na iOS?
Opublikowany: 2017-02-04Nie zawsze łatwo jest zdecydować, czy użyć Objective-C czy Swift do projektu, ponieważ istnieje wiele czynników, które należy wziąć pod uwagę za każdym razem, gdy rozpoczynasz nowy projekt. Omówienie tego tematu, ponieważ jest to najczęstsze pytanie, które zadawała większość osób uczących się tworzenia aplikacji na iOS.
Wybór właściwego i najbardziej odpowiedniego języka zależy od kontekstu projektu i zespołu oraz preferencji, przynależności do jednego języka programowania. Zamiast kołysać flagą Celu-C lub Swift, bierzemy pod uwagę wszystkie aspekty projektu, które wskazują na jeden język nad drugim, takie jak zakres projektu, skala, skład zespołu i względy techniczne.
W roku 2014 firma Apple wydała zupełnie nowy język programowania Swift, który zaskoczył całą społeczność. W ciągu ostatnich 2 lat główny zespół Swift szybko się powtarzał, wypuszczając liczne wersje języka, ku uciesze i szoku społeczności.
Dla istniejących programistów Swift ma ciekawe implikacje, a także wprowadził nieco złożoności dla nowicjuszy, którzy chcą nauczyć się programowania na iOS. Jest to dobra opcja dla wszystkich programistów, którzy już znają się na programowaniu na Maca lub iOS i chcą nauczyć się – i pomóc w kształtowaniu – nowego języka.
Jednak jest wielu programistów, którzy po prostu chcieli poeksperymentować, nie chcą dostać pracy programisty iOS i nie mają nic przeciwko radzeniu sobie z dodatkowymi błędami podczas nauki, ponieważ być może są również zainteresowani nauką.
Dlaczego powinieneś uczyć się szybkiego?
Aby wyjaśnić podstawy programowania, Swift jest znacznie łatwiejszym językiem do pracy, podczas gdy Objective-C ma ponad 30 lat i został napisany w czasie, gdy trzeba było wziąć pod uwagę różne sposoby interakcji z komputerami.
Wszystkie te czynniki są dziś bardzo ważne, aby je poznać i zrozumieć, ponieważ mogą one sprawić, że nauka podstaw programowania będzie zniechęcająca. Co więcej, podstawy programowania są dużo prostsze do zrozumienia w Swift niż w Objective-C. Przyjrzyjmy się różnym powodom, dla których powinieneś nauczyć się języka Swift?
Bezpieczny
W momencie uruchomienia Swift, Apple twierdził, że jest bezpieczny, nowoczesny i potężny, podczas gdy modernizm i moc języka programowania niewiele znaczą dla absolutnego początkującego, a bezpieczeństwo jest najważniejsze.
Najtrudniejszą rzeczą jest nie wiedzieć, co poszło nie tak podczas nauki programowania. Cóż, jest wiele korzyści z wymyślania tego od siebie i uczenia się z tego; jednak brak odpowiednich informacji zwrotnych może trochę zniechęcić.
Używając Swift, możesz zapobiec powstawaniu całej kategorii błędów lub błędów i iteracyjnie informować nas o tym, co robimy źle. Oprócz tego Swift jest o wiele bezpieczniejszy i przyniesie ci korzyści, ponieważ pisanie kodu będzie mniej frustrujące.
Wysoce interaktywne środowisko
Oprócz Swift, Apple udostępnia również dwa najbardziej interaktywne środowiska kodowania, pomagając początkującym w nauce kodowania. Istnieje Xcode Playgrounds, które jest środowiskiem, które pomoże wszystkim początkującym nauczyć się kodować.
Istnieje Xcode Playgrounds, które jest środowiskiem i częścią aplikacji dla komputerów Mac o nazwie Xcode i umożliwia naukę i eksplorację języka Swift, prototypowanie części aplikacji i tworzenie środowisk do nauki dla innych.
Możesz także znaleźć aplikację na iPada o nazwie Swift Playgrounds, która zapewnia takie samo interaktywne środowisko jak Xcode Playgrounds, ale w znacznie bardziej dochodzeniowy sposób, co pozwala na korzystanie ze sprzętu iPada.
Najlepszą rzeczą w Swift jest to, że jest o wiele bardziej angażujący niż jakikolwiek inny i zapewnia natychmiastową informację zwrotną, dzięki czemu cała koncepcja jest łatwa do nauczenia. Ten rodzaj środowiska nie jest fajny dla Swifta, ale Apple robi wspaniałe rzeczy z aplikacją na iPada, ułatwiając naukę wszystkim początkującym.
Nowoczesny
Swift to bardzo nowoczesny język, który ma bogate aspekty, umożliwiając początkującym łatwe czytanie i pisanie niż Objective-C. W sieci możesz zobaczyć to napisane i nie ma to znaczenia, ponieważ wszystko jest o wiele prostsze do zrozumienia, gdy masz z tym wystarczające doświadczenie.
Nie jest łatwo zrozumieć koncepcje bez potknięcia się przy czytaniu kodu. Nie spowoduje to awarii programów, ponieważ zapomniałeś średnika na końcu linii.
To są drobne rzeczy, kiedy się do tego przyzwyczaisz; jednak z pewnością są one korzystne, ponieważ Swift wprowadza na stół dla początkujących. Swift jest bardzo nowoczesny i obniży ogrodzenie do wejścia dla wielu osób, co znacznie ułatwia skupienie się na koncepcjach.
Krótko mówiąc, nauka i zrozumienie podstaw programowania, które jest pierwszym krokiem na drodze do nauki programowania iPhone'a. Modernizm i bezpieczeństwo zapewniane przez języki przyczyniają się do obniżenia bariery wejścia.
Dlaczego warto uczyć się celu C?
Stopniowo odpowiedź będzie się zmieniać w miarę upływu lat, a Swift zdobywa coraz większą popularność w społeczności; jednak jest tylko jedna rzecz, którą należy wiedzieć o Objective-C, ponieważ jest to de facto język programowania iOS od około 10 lat. Co więcej, jeśli chcesz zostać programistą MacOS, Objective-C jest pierwszym wyborem od lat 80-tych.
Krótko mówiąc, wszystko w iOS SDK zostało opracowane w Objective-C i doskonale współpracuje z modelem programowania Objective-C. Chociaż piszesz kod w Swift, będziesz wchodzić w interakcje ze wszystkimi komponentami napisanymi w Objective-C. Biblioteki i frameworki innych firm znajdują się głównie w Objective-C, ponieważ Objective-C istnieje znacznie dłużej.
Co więcej, niszczycielska większość zasobów edukacyjnych, takich jak posty na blogach, książki, filmy z konferencji i nie tylko, znajduje się w Objective-C; dlatego jeśli zwrócisz się do Internetu o pomoc w jakiejś tajemniczej sprawie, istnieje duże prawdopodobieństwo, że odczytasz kod Objective-C. Społeczność Swift jest bardzo entuzjastyczna i istnieje wiele zasobów w Swift, więc nie myśl, że będziesz mieć trudności z uzyskaniem pomocy.

Jeśli zdecydowałeś się zostać poważnym programistą iOS, ważne jest, aby czytać i pisać również kod Objective-C. Głównym powodem jest to, że jeśli dostaniesz pracę jako programista iOS lub otrzymasz starszy projekt, cały kod zostanie napisany w Objective-C.
Jednak narzędzia, których używamy do programowania na iOS, nie są zoptymalizowane pod kątem Swift i to się dzieje, ale te narzędzia są znacznie lepsze w Objective-C. Dla większości firm, Objective-C pozostaje preferowanym językiem programowania.
Czy konieczna jest nauka obu języków?
Apple, wiodąca firma, nie wydała zupełnie nowego języka tylko dla zabawy. Firma wydała ten nowy język przez główny zespół i stara się zwiększyć adopcję w społeczności i dostarczyć wyraźną wskazówkę.
Firma postrzega ten high-endowy język jako przyszłość swoich platform. Głównym celem języka Swift jest wyjście poza programowanie iOS i dobra współpraca z Swift po stronie serwera.
Jeśli zdecydowałeś się być częścią tej społeczności na dłuższą metę, Swift stanie się Twoim głównym językiem programowania. Niezależnie od adopcji Swifta, Cel-C nadal nigdzie się nie wybiera. Firma wciąż próbuje wprowadzić wiele ulepszeń w języku.
Możliwe jest pisanie aplikacji całkowicie w Swift; istnieje jednak duża szansa, że od czasu do czasu będziesz musiał zagłębić się w Cel-C. Pamiętaj, aby być świadomym, ponieważ zaczynasz do tego jako początkujący, co jest dość trudną częścią rozwoju iOS. Po zapoznaniu się z jednym językiem programowania nie będzie Ci trudno nauczyć się innego.
Wybierając między Objective-C a Swift, poszukaj kwestii technicznych
Oba języki, Objective-C i Swift, przyniosły różne korzyści techniczne. Poniżej znajdziesz listę czynników, o których warto pamiętać.
Język uruchomieniowy
Czy wiesz, że środowisko wykonawcze Objective-C jest bardziej niezawodne niż środowisko wykonawcze Swift? Środowisko wykonawcze Swifta jest nawet zbliżone do środowiska wykonawczego Objective-C i nie będzie to możliwe nawet przez lata. Jeśli zdecydowałeś się napisać kod, który będzie czerpał korzyści z refleksji i głębokiej introspekcji obiektów i typów, Objective-C nie wymaga myślenia.
Stabilność kodu
Swift jest bezpieczniejszym językiem programowania niż Objective-C ze względu na silny system typowania i obsługę błędów. Jeśli śledzisz idiomatyczny Swift, masz gwarancję, że Twój kod uwzględnia wszystkie potencjalne przypadki błędów.
Nie oznacza to, że łapie wszystko. Ucieczka pamięci z cyklu przechowywania jest jednym z przykładów błędu, który jest równie powszechny w kodzie Swift jak Objective-C. Dzieje się tak, ponieważ system zliczania mimowolnych referencji w Swift jest niewzruszony.
Wsparcie narzędziowe
Cały zespół Xcode wykonał niesamowitą pracę, ulepszając proces kompilacji do obsługi Swift. Zespół miał do czynienia z zastosowaniem złożonego języka i wspieraniem go w pracy z bardzo innym językiem. Niewielka niespodzianka polega na tym, że samo IDE opóźnia się, a obsługa narzędzi dla Swift jest najmniejsza.
Czasami możesz mieć szczęście, że uzyskasz podświetlanie składni. Wiele razy obejdziesz się bez autouzupełniania. Jeśli jesteś jednym z tych, którzy lubią solidne wsparcie zapewniane przez nowoczesne IDE, pamiętaj, aby rozważyć pozostanie przy Objective-C lub ocenić alternatywne IDE. Najpopularniejszą alternatywą jest AppCode; jest jednak ktoś, kto ma odpowiednią konfigurację dla emacsa.
Praca z podstawowymi interfejsami API
Aplikacja, którą planujesz stworzyć, będzie korzystała z głównych podstawowych API, powinieneś wybrać Objective-C. Prawdą jest, że Swift zapewnia wspaniałe opakowania i sprawia, że zarządzanie pamięcią jest trochę płynniejsze; jednak nadal są to interfejsy API języka C i wywołania funkcji oparte na języku C, które będą bardziej naturalnie pasować do bazy kodu celu-C.
Wykorzystaj kod C++
Podobnie jak podstawowe interfejsy API, możesz korzystać z bibliotek C++ lub programować na wieloplatformowym C++ SDK, ponieważ będzie on nadawał się do projektu Objective-C. Nie będzie można zaimportować C++ do plików Swift.
Aby skorzystać ze Swift, musisz przejść przez żmudne i pełne błędów zadanie tworzenia klas opakowujących Objective C i C++. Za każdym razem będziesz potrzebował linkowania i dodatkowego narzutu i będziesz chciał użyć innej części biblioteki C++. Objective-C jest właściwą opcją, jeśli zamierzasz używać C++.
Zabezpieczenie na przyszłość
Czy wiesz, że najbardziej przyszłościowe projekty to te napisane w Swift? Wykorzystanie Swift zostało rozszerzone do wykorzystania w trzecim projekcie open source Cocoa. W ciągu najbliższych czterech lat będzie równy Celowi-C. Co więcej, przede wszystkim nowe tutoriale i blogi są już pisane w Swift.
Jesteśmy przekonani, że w ciągu 5 do 10 lat informacje o Swift powinny być wystarczające, aby odrzucić wymóg zrozumienia Celu-C. Będziesz mieć wystarczająco dużo czasu na konwersję kodu, zanim Objective-C zniknie; dlatego możesz zachować to dla myśli.
Podsumowując
Są to więc najczęstsze czynniki, które programiści muszą wziąć pod uwagę przy podejmowaniu decyzji między Objective-C a Swiftem do tworzenia aplikacji na iOS. Istnieją szanse, że Twój projekt może zawierać dodatkowe kwestie, z którymi zwykle nie ma do czynienia większość aplikacji. Jeśli jednak szukasz doświadczonego programisty iOS, który biegle posługuje się zarówno Objective-C, jak i Swift, możesz skontaktować się z firmą zajmującą się tworzeniem aplikacji na iPhone'a.