Centrum wiedzy o technologiach i pracy w IT
objective-c

Objective-C, czyli główny język w ekosystemie Apple

Ostatnia aktualizacja 9 października, 2023

Objective-C to język programowania, który został stworzony w latach 80. XX wieku i używa się go głównie w ekosystemie Apple. Łączy on w sobie elementy języka C oraz elementy programowania obiektowego. W tym artykule przyjrzymy się jego strukturze i logice, ale też historii, zastosowaniu oraz cechom, które go wyróżniają.

Nie udało się zapisać Twojej subskrypcji. Spróbuj ponownie.
Udało się! Widzimy się niebawem – newsletter wysyłamy w każdy wtorek

Otrzymuj za darmo unikalne poradniki, dane i wiedzę o pracy w IT – dostarczane co tydzień

Klikając “Zapisz mnie” wyrażasz zgodę na otrzymywanie e-maili od redakcji, a także ofert partnerów oraz akceptujesz naszą Politykę prywatności.

Historia i rozwój

Objective-C został stworzony przez Brada Coxa i Toma Love’a w firmie Stepstone w latach 80. Zaprojektowano go jako rozszerzenie języka C. Inspiracją dla jego twórców był m.in. język Smalltalk, który wprowadził koncepcje programowania obiektowego do użycia przez szersze grono programistów. W Objective-C dodano nowe konstrukcje i składnie, które umożliwiały definiowanie klas, dziedziczenie oraz polimorfizm, co znacząco rozszerzało możliwości języka C.

W latach 90. Apple zdecydowało się na użycie Objective-C jako głównego języka programowania dla swojego systemu operacyjnego, a to znacząco wpłynęło na jego popularność. Po pierwsze, Objective-C oferował zaawansowane funkcje programowania obiektowego, które były potrzebne do stworzenia złożonych interfejsów użytkownika i zarządzania dużymi bazami kodu. Po drugie, jako rozszerzenie języka C, Objective-C był kompatybilny z istniejącym kodem napisanym w C, co ułatwiało integrację i rozwój.

Wybór ten miał ogromny wpływ na popularność Objective-C. Stał się on nie tylko językiem programowania dla systemów operacyjnych Apple (macOS i iOS), ale również dla różnych frameworków i bibliotek, np. Cocoa i Cocoa Touch, które są istotne w rozwoju aplikacji na platformy Apple. To z kolei przyciągnęło wielu programistów do nauki i używania Objective-C, cementując jego pozycję jako jednego z najważniejszych języków programowania w ekosystemie firmy z nadgryzionym jabłuszkiem w logo.

Składnia i struktura Objective-C

Poniższy przykład kodu obrazuje połączenie składni języka C z dodatkowymi konstrukcjami umożliwiającymi programowanie obiektowe. Definicja klasy w Objective-C może wyglądać następująco:

@interface MojaKlasa : NSObject
- (void)mojaMetoda;
@end

@implementation MojaKlasa
- (void)mojaMetoda {
    NSLog(@"Witaj, świecie!");
}
@end

W tym przykładzie, MojaKlasa dziedziczy po klasie NSObject i zawiera jedną metodę o nazwie mojaMetoda.

Co wyróżnia Objective-C?

  • Dynamiczne typowanie: W Objective-C możliwe jest użycie typu id do przechowywania referencji do dowolnego obiektu. Dzięki temu programiści mają większą elastyczność w zarządzaniu typami danych, ale z drugiej strony muszą być bardziej ostrożni, aby unikać błędów typowania w czasie wykonania.
  • Późne wiązanie (Late Binding): ten język pozwala na odroczenie decyzji o tym, jaka metoda zostanie wywołana, do momentu wykonania programu. To umożliwia tworzenie bardziej dynamicznych i elastycznych aplikacji, ale również zwiększa ryzyko błędów, jeżeli metoda nie istnieje w czasie wykonania.
  • Introspekcja: Język oferuje mechanizmy do badania i modyfikowania obiektów w czasie wykonania. Można na przykład sprawdzić, czy obiekt implementuje daną metodę przed jej wywołaniem. Jest to użyteczne w wielu scenariuszach, ale również wymaga od programistów ostrożności.
  • Kompatybilność z C: Jako rozszerzenie języka C, umożliwia on bezproblemowe użycie kodu napisanego w C. To stanowi duże ułatwienie, zwłaszcza w kontekście integracji z istniejącymi bibliotekami i systemami.
  • Wsparcie dla zarządzania pamięcią: Objective-C oferuje różne mechanizmy zarządzania pamięcią, w tym ręczne zarządzanie pamięcią oraz automatyczne liczenie referencji (ARC). Daje to programistom większą kontrolę nad zasobami systemowymi.
  • Wiadomości zamiast wywołań funkcji: W Objective-C metody są wywoływane przez wysyłanie wiadomości do obiektów. Różni się to od tradycyjnego wywoływania funkcji i pozwala na większą dynamikę w kodzie.
  • Bogaty zestaw bibliotek i frameworków: Dzięki długiej historii użycia w ekosystemie Apple, Objective-C ma dostęp do szerokiego spektrum dobrze zaprojektowanych bibliotek i frameworków, co znacząco przyspiesza proces tworzenia aplikacji.

Czytaj także:

Połącz telefon z Windows – prawie jak Apple Continuity

Apple VR headset przyćmi Oculusa – przekonuje analityk

Total
0
Shares
_podobne artykuły