Blog IT, Blog Marketing

Framework do języka C. Czym jest Objective-C?

Framework do języka C. Czym jest Objective-C?

Joanna Wasiak , 04.04.2022 r.

Objective C lub Object C to framework języka programowania C, który rozszerza go o możliwości obiektowe, na wzór innego „czysto obiektowego” języka programowania – Smalltalka.W Object C wykorzystuje się programowanie obiektowe, którego funkcje polegają m.in. na wysyłaniu wiadomości konkretnym obiektom, w odróżnieniu od języków Java i C++, w których konkretne metody są wywoływane względem obiektów. W tym artykule przeczytasz o tym, czym jest Object C i czy dalej warto się go uczyć.

  • Czym jest framework Objective C i do czego się go używa?

  • Poznaj historię Objective C
  • Jak wygląda obecna i orzyszłą sytuacja systemów i aplikacji Apple’a?
  • Czy warto uczyć się Object C? Sprawdziliśmy

Historia frameworka Objective C

Historia tego frameworka sięga lat 80. XX wieku, a konkretniej orwellowskiego 1984 r. Jego autorami byli Tom Love i Brad Cox, właściciele firmy IT Stepstone. Dwa lata później Cox opublikował opis Objective C w książce o programowaniu obiektowym. Framework Object C jest do dziś wykorzystywany przez firmę Apple dla systemó macOS oraz iOS oraz ich interfejsów API – Cocoa Touch.

Wraz z nadejściem 2014 r. Object C zyskał nowego konkurenta, który miał całkowicie go zastąpić. Mowa o Swifcie, który jest łatwiejszy w obsłudze i pozwala na większą wydajność aplikacji. Czy w ciągu 8 lat o udało się całkowicie wyeliminować framework Object C i zastąpić go Swiftem? Nie. Wciąż istnieją aplikacje, których bazową architekturą pozostaje Objective C i nie zanosi się na szybką zmianę. Programiście Apple’a nie mają również w planach przepisywania starych aplikacji na Swift, dzięki temu Object C wciąż jest używany.

Obecna i przyszła sytuacja systemów i aplikacji Apple’a

Obecna sytuacja aplikacji i systemów Apple’a wygląda tak, że ponad 2 mln aplikacji pisanych w Object C pozostały bez zmian. Programiści Apple’a doszli do wniosku, że póki aplikacje sprawnie działają, nie ma potrzeby przepisywania ich na nowy język – Swift. Korzyści związane z przepisywaniem działających aplikacji są niewielkie w stosunku do ilości pracy, jaką trzeba by było w tym celu wykonać.

Coraz więcej nowych funkcji i aktualizacji Apple’a pisanych jest właśnie w Swifcie, zatem zmiana języka starych aplikacji ma sens jedynie w momencie, w którym aplikacje przestaną działać, pojawi się problem z ich dotychczasową wydajnością lub będą musiały zostać zaktualizowane. Co ciekawe, pojawiają się głosy, że zastosowanie Object C obecnie miałoby sens przy projektowaniu dużych aplikacji, u których podstaw musi leżeć stabilna architektura, a taką gwarantuje właśnie Object C.

Apple wprowadził też ABI Stability podczas aktualizacji języka Swift do wersji 5 w 2019 r., by uniknąć problemów z brakiem kompatybilności. Nowa funkcja zapewnia możliwość kompilacji starszego kodu w nowocześniejszej wersji. Z drugiej strony, Apple mocno wspiera rozwój Swift UI, którego nie da się napisać w Object C. Trudno powiedzieć, jak będzie wyglądać przyszłość Objective C. Na pewno w najbliższych latach, dopóki będą działały stare aplikacje, będzie używany.

Object C a Swift

Object C ma 38-letnią tradycję. Jego architektura jest już dobrze znana programistom Apple’a, którzy od lat tworzą aplikacje i systemy. Jego ostatnią aktualizacją była wersja 2.0 z 2016 r. Więcej aktualizacji tego frameworka nie będzie. Choć Swift powstał zaledwie 8 lat temu, w zeszły roku doczekał się aktualizacji 5.5. Może wydawać się mniej stabilny niż Objective C, ale w przeciwieństwie do niego posiada zaangażowaną społeczność i od początku został wypuszczony jako język programowania open source.

W Object C bez problemu uruchomisz każdą aplikację. Aby uruchomić aplikację w Swift, musisz mieć wersję iOS 7. Z drugiej strony, Swift jest ciągle rozwijany i aktualizowany m.in. dzięki Swift Playgrounds. Składnia Swifta jest prostsza, dzięki temu pisanie aplikacji w tym języku zajmuje dużo mniej czasu, w porównaniu z Object C. Zmniejszenie ilości kodu nie tylko przyspiesza proces tworzenia, ale także skutkuje mniejszą liczbą błędów oraz szybszym i tańszym testowaniem.

Apple twierdzi, że Swift jest 2,6 razy szybszy niż Objective-C. Jest to możliwe dzięki temu, że Swift został stworzony jako nowoczesny język programowania, który ma być szybki i wydajny. Mimo że Objective C ma garbage collector, nie przebije wydajności Swifta, która w przyszłości będzie rozwijana jeszcze intensywniej.

Wg danych Tiobe Index na rok 2020 Swift jest 11. najpopularniejszym językiem z trzykrotnie większą liczbą głosów niż rok wcześniej. Objective-C otrzymał tylko 50% głosów dla Swifta. Prognozy na przyszłość mówią o tym, że zmniejszy się liczba programistów Objective-C, natomiast wzrośnie populacja programistów Swift.

Czy warto wciąż uczyć się języka Object C? Jeśli jesteś obecnie na poziomie junior developera, warto, abyś poznał funkcjonalność Object C, by z łatwością rozumieć logikę konkretnej funkcji. Nie ma potrzeby, byś uczył się programowania w Object C, gdy przyszłościowo to właśnie Swift będzie domyślnym językiem systemów i aplikacji Apple’a.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej