Zalety używania Swift nad celem-C
Opublikowany: 2021-10-05Artykuł miał na celu podkreślenie głównych zalet języka programowania Swift .
Tutaj chciałbym zacząć od szybkiego quizu.
Pytanie: W jakim języku programowania napisane są aplikacje na iOS?
a)C#
b) Cel-C
c) Szybki
Najwyraźniej jeśli wybrałeś wszystkie powyższe - masz 100% racji, wszystkie wymienione języki są przydatne, jeśli chodzi o rozwój iOS. Choć nie byłoby dziwne, gdybym wspomniał, że wszystkie są różne ze względu na ogromną „przepaść pokoleniową”, która je dzieli.
...Wikipedia podaje, że wszystko zaczęło się od Objective-C, kiedy dziadek języków programowania został wprowadzony przez Brada Coxa i Toma Love'a na początku lat 80-tych. Najpierw przejęty przez NeXT, a następnie, w końcu przez Apple, kiedy w 1996 roku używali OpenStep w OS X. Od tego czasu ogromna część systemu operacyjnego Apple została opracowana na Objective-C i jest to największy wzrost.
Jednak, jak powszechnie wiadomo, wszystko, co dobre pewnego dnia, tworzy wspaniałą pamięć i dokładnie to dzieje się obecnie z Objective. Jestem w 100% pewien, że słyszałeś o aplikacjach takich jak gra 2048, Wordpress iOS czy przeglądarka FireFox iOS. Co zaskakujące, język kodowania iOS, w którym są napisane te aplikacje, nie jest obiektywny – ale jest to Swift.
Szybki. Język programowania aplikacji iOS.
(ta informacja była wymagana w momencie opublikowania artykułu - luty 2017 r.; niektóre zmiany mogą obowiązywać później)
W chęci zaskakiwania klientów Apple zdołało przekroczyć wszystkie oczekiwania – szczególnie programiści byli bardziej niż zaskoczeni, gdy na początku czerwca 2014 r. pojawił się na świecie nowy język programowania aplikacji ios. Po 3 latach rozwoju Swifta programiści nie przestali nad nim pracować - pojawiło się już kilka aktualizacji, a najnowsza wersja Swift 4.0 została wydana we wrześniu 2016 roku. Kod napisany w tym języku o otwartym kodzie źródłowym można zastosować dla macOS , iOS, watchOS, tvOS i (!) Linux.
2 lata później Swift zajął solidną pozycję wśród wszystkich istniejących języków programowania mobilnego. Wyniki ankiety dla programistów Stack Overflow twierdzą, że Swift zajmuje czołowe miejsca w rankingu najbardziej lubianych i poszukiwanych języków, a Objective-C jest najbardziej przerażającym językiem w tym roku (2019).
Biorąc pod uwagę wszystkie punkty, czy są jakieś zalety, które sprawiają, że Swift wyróżnia się z tłumu? Czy jest szansa, że przetrwa konkurs Swift vs Objective ?
Przeczytaj też: 6 różnic między rozwojem iOS i Androida: mity vs rzeczywistość
Szybki kontra cel-C
Konie na kursy, jak mówią, ale jest kilka niezaprzeczalnych piękności, które ma Swift-język-programowania-od-Apple. Oto kilka przedstawionych graficznie zalet i wad do przestudiowania.

Nawet jeśli proces kodowania ze wszystkimi jego zaawansowanymi technologicznie funkcjami wydaje ci się nauką rakietową, prostsze i bardziej postępowe podejście, które przyniósł Swift, nie może pozostać niezauważone. Z drugiej strony Swift ma kilka rzeczy, które niektórzy mogą nazwać wadami, np. musi używać Xcode jako podstawowego zintegrowanego środowiska programistycznego; niektórzy programiści narzekają, że lepiej korzystaliby z zewnętrznych środowisk IDE, które przewyższają Xcode pod względem stabilności i funkcji.
Powody używania Swift
Pomimo wszystkiego wymienionego wcześniej, wiele firm programistycznych na całym świecie decyduje się trzymać opcji języka Swift, a Mind Studios nie jest tutaj wyjątkiem. Dlaczego preferujemy Swift w porównaniu Objective-C? Jest kilka łatwych do rozważenia czynników.
Szybki to...
1)... nowszy.
Objective-C ma już 33 lata i pierwotnie był kontynuacją języka C. W przeciwieństwie do tego, Swift pojawił się jako odrębny język od Apple, ponieważ firmie trudno było wspierać i rozwijać Objective. W ciągu 3 lat istnienia Swift był aktywnie rozwijany, a nowa wersja 4 zostanie wkrótce dostarczona.
2)... czystsze.
Dzięki nowej składni dodanej do Swift wydaje się, że czytanie, kompilowanie i sprawdzanie kodu jest o wiele łatwiejsze niż w przypadku Objective-C.
3)...mniej czasochłonne.
Ponieważ Swift wymaga napisania mniejszej liczby wierszy kodu, to odpowiednio, zajmuje minimalną ilość czasu, aby zakończyć zakres prac związanych z tworzeniem kodu.
4)...mniej pamięci.
Wcześniej w Objective-C, gdyby istniało dowiązanie do obiektu - zajęłoby to część pamięci o dostępie swobodnym; kiedy wdrożono Swift - Apple pozostawił w spokoju programowanie obiektowe i przerzucił się na struktury. W konsekwencji zmniejszyła się ilość danych typu referencyjnego i klas SDK, zmieniona teraz dla typu wartościowego. Doprowadziło to do bardziej wydajnego wykorzystania pamięci w Swift.
5)...szybciej.

Swiftowi udaje się dostosować dane szybciej niż Obj-C; tak samo jak Objective-C, używa kompilatora LLVM do zoptymalizowanego generowania kodu natywnego dla platformy, na której działa. W Swift wiele tablic jest przepisanych jako struktury; kilka klas było wcześniej obiektami w Objective-C, co skutkowało wolniejszym działaniem kodu; chociaż kompilacja kodu w Xcode IDE trwa dłużej, w końcu kod działa szybciej w Swift.

6)...nie tylko zorientowany na iOS.
Jak wspomniano wcześniej, Swift został już dostosowany do Linuksa , a niektórzy programiści już dali mu szansę na Androida. Z naszego doświadczenia wynika, że część serwerowa może być również napisana w języku Swift.
7)...język open-source.
Najwyraźniej można było przeczytać całą dokumentację techniczną - co w zasadzie oznacza, że można ją wykorzystać z korzyścią dla przyszłych produktów aplikacyjnych. A nawet więcej – wszyscy chętni deweloperzy mogą sugerować swoje rozwiązania, ponieważ Apple stworzyło Jira do śledzenia błędów w Swift.
8)… język bezpieczny dla typu.
W przeciwieństwie do Objective-C, którego nigdy nie było. Zgodnie z danymi Stack Overflow, bezpieczeństwo typów jest przydatne nie tylko w czasie wykonywania, ale także w czasie kompilacji. Swift nadal nie sprawdza typów w czasie wykonywania, ale robi to podczas sprawdzania w czasie kompilacji, co już pomaga wyeliminować wiele błędów.
9)...język z wyliczeniami, opcjonalnymi typami i poręcznymi przełącznikami.
...co zasadniczo oznacza, że jest nieco bezpieczniejszy w użyciu. Objective-C zawsze był językiem zorientowanym obiektowo, ale dzięki niektórym strukturom napisanym dla Swift ostatecznie doprowadziło to do mniejszej liczby awarii i zwiększenia bezpieczeństwa. Ponownie firma Apple najpierw dodała typy opcjonalne, a następnie, po drugie, wyliczenia zamiast wartości całkowitych. Typy opcjonalne pomagają sprawdzić istnienie obiektu w kodzie, co pozwala uniknąć dodatkowych awarii. Apple ma nadzieję, że za pomocą wyliczeń i przełączników dla obiektów, kodowanie będzie jeszcze bardziej fascynujące.
Przykład wyliczeń Swift:
| Przykład wyliczeń Swift | Jednak w Obj-C byłoby to |
|---|---|
| |
| w kodzie Swift wyglądają tak | Dla kontrastu, oto przełączniki Obj-C |
|---|---|
|
|
| rozpakuj opcjonalnie: |
|---|
|
Przeczytaj też: Wzorce architektury dla rozwoju iOS
To wszystko jest dobre dla Swifta.

Byłoby to nieuzasadnione twierdzenie, gdyby ktoś próbował mówić o technologii, zanim faktycznie ją wypróbował. Więc sądząc po doświadczeniu, które już posiadamy w Mind Studios - Swift jest całkiem wygodny w obsłudze.
Kilka z naszych najnowszych aplikacji zostało napisanych w języku Swift, w tym:
- Gadh iOS - aplikacja do konsultacji telefonicznych i wideo z Twoim prawnikiem
- Stern Fit - serwis społecznościowy dla zapalonych sportowców
- TapToTrip - podręczny planer tras i podróży
- LIT - premium eReader EPUB
- Unagrande YogaClub - wideo-lekcje jogi dla pasjonatów
Wszystkie wyżej wymienione aplikacje obejmują różne technologie, które można łatwo zaimplementować w Swift.
Chcesz dowiedzieć się więcej na temat zestawu do rozwoju rzeczywistości rozszerzonej.
Podsumowując – jakiego języka należy się trzymać?
To pytanie samo w sobie nie ma uniwersalnej odpowiedzi. Z jednej strony, jak to często w IT bywa – często rozwiązaniem jest najświeższa technologia; z drugiej strony zmiana koni w połowie może nie być najlepszą polityką, ponieważ każdy projekt jest inny. Więc cokolwiek zdecydujesz się wybrać, po prostu upewnij się, że jest to dobrze dopasowane do modelu biznesowego dla tej konkretnej branży rynkowej i funkcji, które wybrałeś dla swojego przyszłego produktu.
Napisane przez Maxa Maszkowa, Jurija Smirnowa i Elinę Besarabową.
Potrzebujesz konsultacji, jakiej technologii użyć w swoim projekcie? Napisz do nas!
