Nasza strona używa cookies. Dowiedz się więcej o celu ich używania i zmianie ustawień w przeglądarce. Korzystając ze strony, wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki. Rozumiem

iOS 13 - co nowego dla programisty?

Zobacz najważniejsze nowości, jakie przynosi system iOS 13 dla developerów.
iOS 13 - co nowego dla programisty?

Wczoraj Apple udostępniło szerokiej publiczności możliwość update’u iOS do wersji 13. Wraz z nią developerzy z Cupertino wprowadzili mnóstwo nowości i usprawnień, które pomogą w pracy programistom aplikacji mobilnych. Przyjrzyjmy się najważniejszym z nich.


SwiftUI


To prawdopodobnie największa zmiana z punktu widzenia codziennej programisty. SwiftUI to nowy sposób na tworzenie interfejsów użytkownika za pomocą języka Swift. Robi się to za pomocą deklaratywnej składni wykorzystującej pełnię możliwości języka. Xcode wspiera SwiftUI pozwalając na tworzenie widoków za pomocą drag and drop czy podgląd na żywo z poziomu tego IDE.


SwiftUI zdecydowanie ułatwi pracę z repozytorium, szczególnie w stosunku do storyboardów i tworzonego przez nie XML-a. SwiftUI działa natywnie na wszystkich platformach od Apple, więc praktycznie z miejsca staje się opcją wartą lepszego poznania.


A to przykład jak może wyglądać prosty ekran zapisany w SwiftUI:

import SwiftUI

struct Content : View {

  @State var model = Themes.listModel

  var body : some View {
    List (model.items, action: model.selectItem) { item in
      Image (item.image)
      VStack (alignment: .leading) {
        Text(item.title)
        Text(item.subtitle)
          .color(.gray)
      }
    }
  }
}

Dark Mode

O tym mówi się sporo na serwisach, które mówią ogólnie o technologii. Dla developerów aplikacji iOS ma to też pewne znaczenie - w końcu warto dostosować aplikację do trybu nocnego. Apple zaleca przede wszystkim przełączenie urządzenia w tryb nocny i przeklikanie aplikacji w poszukiwaniu elementów, które nie są z nim kompatybilne. Na pewno nie trzeba się martwić o standardowe kontroli systemu iOS, bo one automatycznie dostosują swój wygląd do bieżącego trybu. Jednak w razie potrzeby Apple zapewnia sporo materiałów pomagających dostosować się do nowego trybu.


Wiele instancji UI, jedna aplikacja

Nowy system wprowadza możliwość uruchomienia wielu instancji UI jednej aplikacji na raz. Można przełączać nimi z poziomu app switchera, a na iPadzie można pokazać jedną instancję obok drugiej. Wszystkie instancje działają w ramach jednego procesu. Apple wprowadziło pojęcie sceny (scene, UIWindowScene), która odpowiada jednej instancji UI.

iPadOS

Apple chce, żeby iPad był nie tylko powiększoną wersją telefonu, ale przede wszystkim mobilną alternatywą dla laptopa - taką małą stacją roboczą. Dlatego firma zdecydowała się na wydzielenie systemu dla iPada (pod nazwą iPadOS) i rozszerzenie go o kilka funkcji, które zbliżają go do komputera. Przede wszystkim przez multitasking - możliwość równoczesnego odpalania dwóch aplikacji czy też (wspomnianych już) dwóch instancji UI tej samej aplikacji obok siebie. O tym, że aplikacjom z iPada ma być bliżej do laptopa niż telefonu świadczy fakt, że od teraz można zbudować aplikacje iPadowe również na macOS.

AR, ML

Wydaje się, że Augmented Reality to oczko w głowie Apple. W tej dziedzinie jest naprawdę sporo nowości, które dodatkowo można ze sobą łączyć. Najważniejszym punktem w dziedzinie AR jest ARKit 3. Nowa wersja frameworku dostarcza mnóstwa nowości i poprawek np. funkcję motion capture czy śledzenie nawet 3 twarzy jednocześnie. Tu przyda się też obsługa w jednym czasie przedniej i tylnej kamery, którą można wykorzystać poza ARKit dzięki AVCaptureMultiCamSession. W iOS zadebiutuje też RealityKit, który pomoże wyrenderować obiekty 3D w kontekście AR.


Nowością jest również Vision, który powoli na klasyfikację treści obrazów. Potrafi np. wykrywać na zdjęciach ludzi i zwierzęta, czy wykonywać OCR. Ta ostatnia funkcja może być połączona z VisonKit, który potrafi skanować dokumenty za pomocą aparatu telefonu.


Core ML 3 oferuje aktualizowanie modeli na podstawie danych zapewnionych przez użytkownika oraz ulepsza wsparcie dla dynamicznych sieci neuronowych. Zadania dotyczące uczenia maszynowego będzie można wykonywać również w tle - w czym pomoże nowy framework BackgroundTasks.


Co jeszcze?

Nie można nie wspomnieć o funkcji “Zaloguj się z Apple”, która debiutuje w tym wydaniu. Miłym dodatkiem jest też CryptoKit, który pozwala na wykonywanie operacji kryptograficznych. Znajdziecie tam w zasadzie wszystkie potrzebne do szczęścia algorytmy. Kolejnym frameworkiem jest MetricKit, który pozwoli optymalizować wydajność swoich aplikacji - przez monitorowanie metryk powiązanych ze zużyciem energii czy wydajnością. Natomiast dzięki CoreKit możliwe też będzie synchronizowanie danych z Core Data z chmurą i dostęp do nich na wszystkich urządzeniach użytkownika.


Nowości jest jeszcze kilka, pełna lista dostępna jest na stronie Apple.

Lubisz dzielić się wiedzą i chcesz zostać autorem?

Podziel się wiedzą z 130 tysiącami naszych czytelników

Dowiedz się więcej