Cocoa and Cocoa Touch: Jak zacząć Buduj aplikacje na Maca i iOS

Ujawnienie: Twoje wsparcie pomaga utrzymać działanie witryny! Pobieramy opłatę za polecenie niektórych usług, które zalecamy na tej stronie.


Cocoa jest programistycznym interfejsem API macierzystym dla systemu operacyjnego Mac OS X. Cocoa Touch to ściśle powiązana analogiczna platforma dla systemu iOS. Jest napisany w Objective-C i działa jako swego rodzaju „górna warstwa” dla każdego systemu operacyjnego.

Kakao można uznać za platformę aplikacji lub platformę programistyczną, ale jest ono bardziej zintegrowane z systemem operacyjnym niż którekolwiek z nich w środowisku Linux lub Windows.

Ta ścisła integracja interfejsu API, systemu operacyjnego i (oczywiście) własnego sprzętu Apple ma na celu zapewnienie płynnego środowiska programistycznego i egzekwowanie „sposobu Apple” robienia rzeczy.

Historia kakao

Kakao zaczyna się od C. Dosłownie.

Na początku lat 80. para programistów o imieniu Brad Cox i Tom Love starała się dodać Object Orientation do języka programowania C, który w tym czasie nie obsługiwał OOP.

Ich rozwiązaniem było stworzenie preprocesora, który renderowałby kod C z niektórymi dodatkami podobnymi do Smalltalk w zwykły, kompilowany kod C. (Smalltalk był wczesnym językiem obiektowym).

Ten preprocesor szybko przekształcił się w pełnowartościowe rozszerzenie języka i stał się znany jako Objective-C. Oprogramowanie NeXT, które zostało założone przez Steve’a Jobsa po zwolnieniu go z Apple w 1985 roku, licencjonowało Objective-C od jego twórców i wykorzystywało je jako podstawę dla kilku platform programistycznych.

Tworzyły one platformy aplikacyjne NeXTSTEP i OpenStep, które NeXT sprzedawał w latach 80. i 90.

Apple nabył NeXT w 1996 roku, a Steve Jobs powrócił jako CEO. Frameworki NeXTSTEP trafiły do ​​systemu operacyjnego Mac.

Apple oznaczyło już nazwę handlową nazwą Cocoa, dla oddzielnego projektu, który został przerwany. Aby szybko umieścić markową markę na nowszej wersji frameworka Apple, nazwali ją Cocoa.

Kakao jest częścią wszystkich systemów operacyjnych Apple od późnych lat 90. XX wieku i ewoluowało wraz z systemem operacyjnym i nowymi platformami urządzeń.

Co robi kakao?

Kakao robi wiele rzeczy, ale ogólnie rzecz biorąc można je podzielić na cztery kategorie:

  • Działa jako rozszerzona standardowa biblioteka dla Objective-C, zapewniając obsługę bogatszych obiektów i funkcji współczesnych języków obliczeniowych nieobecnych w projektowaniu Objective-C.

  • Zapewniając ujednolicony interfejs użytkownika i wrażenia użytkownika.

  • Zezwolenie aplikacji na dostęp do innych aplikacji, usług i funkcji urządzenia.

  • Zachęcanie do określonych wzorców architektury i zarządzania danymi.

Te ogólne cele projektowe są wdrażane w kilku „ramach”. Ten termin może być nieco mylący. We współczesnym języku Cocoa przypomina bardziej pojedynczą platformę z kilkoma modułami lub bibliotekami. Ale Apple nazywa każdą z tych bibliotek „strukturą”.

Przeanalizujmy trochę każdy z tych funkcjonalnych celów i dowiedz się, w jaki sposób osiągają je różne struktury Cocoa.

Kakao jako biblioteka standardowa

Cel C ma standardową bibliotekę. W środowisku Cocoa standardowa biblioteka i środowisko wykonawcze są faktycznie dostarczane przez Cocoa. Ponadto zestaw Foundation Kit zapewnia zestaw rozszerzonych funkcji językowych, które w praktyce działają jak de facto standardowa biblioteka.

Zapewnia to bardziej zaawansowane funkcje językowe niż zwykle dostępne w Objective-C. Obejmuje to szeroki zakres podstawowych klas dla często używanych typów obiektów – liczby, daty, ciągi znaków, adresy URL, wyrażenia regularne i komunikaty o błędach.

Ta platforma Foundation Kit jest niezbędna w aplikacjach napisanych w Objective-C. Jednak tworzenie aplikacji na platformach Apple odchodzi od Objective-C, ponieważ Apple promuje swój nowy język programowania Swift.

Swift natywnie oferuje wiele nowoczesnych funkcji językowych dodanych przez Foundation Kit i nie jest jasne, jaką rolę odegrają Foundation i Objective-C w scentralizowanej przyszłości.

Kakao jako interfejs UI / UX

Ten aspekt kakao jest być może najbardziej oczywisty dla twórców aplikacji.

W wersji Cocoa OS X interfejs użytkownika jest dostarczany przez platformę o nazwie AppKit. W Cocoa Touch na iOS nazywa się to UIKit.

W obu przypadkach zapewniają one elementy graficzne, elementy sterujące interfejsu użytkownika, zarządzanie oknami i panelami, interfejsy wielodotykowe oraz wszystkie inne szczegóły interakcji między użytkownikiem a systemem.

Korzystanie z AppKit i UIKit sprawia, że ​​aplikacja wygląda natywnie w systemie Apple i reaguje na dane wejściowe (gesty, kliknięcia, ruch) „we właściwy” sposób.

Duża różnica między Cocoa a Cocoa Touch to różnica między AppKit a UIKit. O ile Apple pracowało nad ujednoliceniem wrażeń użytkownika na różnych platformach, nadal masz do czynienia z iPhonem inaczej niż z komputerem stacjonarnym Mac.

Oprócz nieco innych elementów GUI, UIKit zawiera obsługę takich rzeczy jak kierunek kompasu, GPS, akcelerometr (ruch urządzenia) i ekran dotykowy.

Cocoa jako interfejs systemu operacyjnego

Aplikacje Apple muszą także mieć możliwość interakcji z innymi aplikacjami i usługami systemu operacyjnego.

Jeśli chcesz mieć możliwość kliknięcia numeru telefonu w aplikacji czatu i uruchomienia połączenia telefonicznego, aplikacje muszą móc ze sobą rozmawiać.

Jeśli chcesz, aby aplikacja do edycji muzyki mogła odbierać dźwięk z mikrofonu i odtwarzać głośniki, aplikacje muszą mieć możliwość interakcji z usługami systemu operacyjnego.

Cocoa zapewnia całą długą listę ram, które zapewniają dostęp do aplikacji i usług. Dzięki temu aplikacje mogą być nie tylko samodzielnymi plikami wykonywalnymi, ale także istnieć i działać w zintegrowanym ekosystemie.

Cocoa jako Architect

Kakao obsługuje dwa ważne wzorce architektoniczne, jeden w aplikacji i jeden w sposobie, w jaki aplikacja komunikuje się poza sobą.

Kakao zostało napisane z uwzględnieniem paradygmatu architektonicznego Model-View-Controller i wspiera rozwój MVC na wszystkich poziomach.

Widok jest implementowany przez frameworki AppKit lub UIKit. Moduły kontrolera są obsługiwane przez rodzinę klas wbudowanych w Foundation Kit. Modele i ich wymagane połączenie z warstwą utrwalania danych są obsługiwane przez inną strukturę o nazwie Core Data.

Ten projekt zachęca (niektórzy mogliby powiedzieć, że wymusza) architekturę Model-View-Controller w aplikacjach iOS i OS X..

Pomiędzy różnymi aplikacjami, a także między aplikacjami i usługami, różne platformy pośredniczą w interakcji zasadniczo w sposób zorientowany na usługi. Dzięki temu zarówno łatwiej, jak i bezpieczniej integruje się aplikacje, promując solidny i odporny ekosystem aplikacji.

Zasoby kakao

online

Poradniki

  • Podstawowe koncepcje programowania dla kakao i kakao Touch

  • Wprowadzenie do wytycznych dotyczących kodowania kakao

  • Cocoa Dev Central

  • Programowanie Mac OS X z Cocoa dla początkujących.

Przybory

  • Cocoa Controls: komponenty interfejsu użytkownika typu open source dla systemów iOS i OS X..

  • Cocoa Pods: menedżer pakietów dla projektów Cocoa.

Społeczność i ustawiczne kształcenie

  • CocoaHeads: światowa sieć lokalnych grup spotkań i dyskusji poświęconych rozwojowi Cocoa i Cocoa Touch.

  • Cocoa Subreddit.

Książki

  • Szybki rozwój dzięki Cocoa: programowanie dla sklepów z aplikacjami na komputery Mac i iOS

  • Programowanie Cocoa dla OS X: The Big Nerd Ranch Guide

  • Nauka kakao z celem C

  • Tutorial Ry’s Cocoa

  • Kakao (informacje dla programistów)

  • Wzory projektowe kakao.

Inne zasoby programistyczne dla systemów OS X i iOS

Nie można używać Cocoa ani Cocoa Touch w próżni. Jest to część większego środowiska programistycznego Apple App, które obejmuje Xcode, Objective-C i Swift. Te różne narzędzia i technologie współpracują ze sobą, tworząc ekosystem rozwoju.

Xcode

Xcode jest wymaganym zintegrowanym środowiskiem programistycznym (IDE) do budowania aplikacji OS X i iOS. Jest ściśle zintegrowany z Swift, Cocoa, Apple App Store i większym ekosystemem Apple.

Nie ma zbyt wielu samouczków na temat Xcode, ponieważ jest on omawiany w każdym ogólnym zasobie programistycznym Apple. Jednym z wielkich zasobów jest jednak samouczek Xcode, który jest regularnie aktualizowany wraz z pojawieniem się nowych wersji Xcode.

Cel C

  • O Objective-C: samouczek wprowadzający z Apple Developer Center

  • Programowanie Objective-C

  • Programowanie Cel-C: Przewodnik po wielkim nerd Ranch.

Mamy również bardziej kompletną listę zasobów celu C.

Szybki

  • Swift Programming Language: oficjalny przewodnik Apple

  • Swift Programming: The Big Nerd Ranch Guide: ostateczna książka na ten temat.

Mamy również dokładną listę zasobów Swift.

Ogólne zasoby programistyczne Apple

Pierwszym miejscem na informacje i zasoby dotyczące programowania na platformy Apple jest witryna Apple Developer.

Wiele z najlepszych książek na temat rozwoju systemów Mac i iOS pochodzi z Big Nerd Ranch. Ich książki na określone tematy są wspomniane powyżej, a także powinieneś sprawdzić ich książki na temat zaawansowanego programowania Mac OS X i programowania na iOS.

Inne dobre zasoby ogólne:

  • Samouczki Ray Wenderlich: jeden z niewielu dostawców, który wraca i aktualizuje stare samouczki, gdy Apple aktualizuje platformę.

  • Apple Programming Channel na YouTube: nie oficjalny, ale bardzo pomocny.

  • WeHeartSwift: nominalnie o Swift, ale ta strona obejmuje wszystkie aspekty rozwoju OS X i iOS.

  • NSHipster: popularny blog o programowaniu na Maca i iOS, z wieloma samouczkami na temat „przeoczonych bitów w Objective-C, Swift i Cocoa”. Są również bardzo opiniotwórczy w swoim zasięgu, co jest prawdopodobnie siłą.

  • ObjC.io: książki i artykuły na temat zaawansowanych technik i praktyk dotyczących rozwoju systemów iOS i OS X..

Dolna linia…

Cocoa i Cocoa Touch to podstawy natywnego rozwoju aplikacji dla komputerów Mac i iOS.

W przypadku iOS istnieją inne sposoby tworzenia nienatywnych aplikacji mobilnych z HTML5 i JS, ale nie zawsze idzie to tak, jak się spodziewano – naprawdę.

Jeśli chcesz zbudować kolejną dużą aplikację na iPhone’a lub utworzyć aplikacje na Maca, które dobrze integrują się z OS X i spełniają oczekiwania użytkowników, naprawdę musisz zagłębić się w Cocoa i Cocoa Touch. W przypadku tworzenia aplikacji natywnych tak naprawdę nie ma substytutów.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map