WWDC 2020 – ciekawostki z sesji dla deweloperów nt. przyszłości platform Apple’a
W ostatnim tygodniu, podczas trwania sesji dla deweloperów w ramach WWDC 2020, pojawiło się sporo ciekawostek, których nie dowiedzieliśmy się z keynote’a.
Windows dla ARM i BootCamp
- Microsoft poinformował, że Windows dla ARM nie jest dostępny dla użytkowników końcowych i że sprzedają licencje tylko dla OEM-ów.
- Apple w międzyczasie poinformował, że nie planują wspierać Windows dla ARM, więc praktycznie wyklucza to negocjacje między firmami. Zapowiada się więc, że będzie można jedynie korzystać z wirtualizacji.
ARM Mac
- Deweloperzy, którzy korzystają ze skompilowanego kodu (na Intela w tej sytuacji), nie będzie mogło przekompilować swoich aplikacji na ARM. Rosetta 2 nie wspiera tłumaczenia fragmentów programów, więc deweloperzy będą musieli otrzymać kod od źródła, aby przekompilować go samemu, albo uzyskać skompilowany kod na ARM-a.
- Nowe Maki, oparte o procesory ARM, będą prawdopodobnie oparte o architekturę rdzeni znaną z obecnych konstrukcji w iPadach i iPhone’ach, czyli wykorzystujące kombinację rdzeni wydajnych i rdzeni szybkich. Deweloperzy zostali też ostrzeżeni, żeby nie martwili się, jeśli ich aplikacje będą działały na jednego typu rdzeniach, a nie na wszystkich – to jedna z różnic między rozwiązaniami Apple’a i Intela.
- Dla aplikacji uniwersalnych na ARM Macach, zawierających kod dla Intela i ARM, użytkownik będzie mógł wybrać, czy chce dany program uruchomić natywnie (ARM), czy poprzez emulację Rosetta 2 (Intel). Wystarczy w okienku Get Info (⌘i) zaznaczyć odpowiednie pole Use Rosetta.
- CPU i GPU będą korzystały z tej samej pamięci, a nowe SoC będą miały wbudowane kodowanie i dekodowanie wideo oraz wsparcie dla nauczania maszynowego dzięki Neural Engine.
- Nowością będzie asymetryczne przetwarzanie wielu wątków, a deweloperzy będą musieli zdefiniować tzw. wartość QoS (Quality of Service), określającą, jaki priorytet ma być nadany do zadań wysyłanych do procesora.
- Rosetta 2 będzie tłumaczyła aplikację podczas instalacji, np. z App Store lub jeśli wgraliśmy ją z innego źródła, to podczas pierwszego uruchomienia, które może wtedy dłużej trwać. Update macOS może wpłynąć na Rosettę, więc po uaktualnieniach aplikacje Intelowe mogą być ponownie tłumaczone.
Big Sur
- Aplikacje dla Mac wykorzystujące Catalyst (który pozwala wykorzystywać kod z aplikacji iOS-owych do tworzenia wersji na Mac) będą teraz miały dostęp do znacznie szerszego zakresu narzędzi, w tym rozbudowaną obsługę klawiatury, myszki i trackpada, oraz Macowy sposób na wybieranie daty, zamiast iOS-wy kręciołek.
- W Catalyst dodano też wsparcie dla tzw. pull-down menus, które mogą wystawać poza obrys okna aplikacji oraz możliwość wyświetlania ich w 100% skali, a nie 77%, jak dotychczas pod Cataliną.
- Catalyst wspiera też rozszerzenia do edycji zdjęć z iOS-a, które będą działały teraz Photos dla Mac.
- Wiemy już, że aplikacje z iOS-a (iPhone i iPad) będzie można uruchamiać na macOS Big Sur, ale pod warunkiem, że jest to Mac wyposażony w procesor ARM. Aplikacje iOS-owe będą automatycznie dostępne dla Macuserów i jeśli deweloper danej aplikacji sobie tego nie życzy, to może tę opcję wyłączyć.
- Aplikacje dla macOS będą miały możliwość korzystania z mechanizmów Apple Pay – dotychczas możliwe to było tylko w programach wykorzystujących Catalyst.
iOS
- App Clips będą mini-aplikacjami dołączanymi do głównego app. Nie mogą istnieć niezależnie i będą recenzowane przez ekipę App Store jednocześnie.
- App Clips są generalnie usuwane, jeśli nie korzystamy z nich – iOS zrobi to automatycznie. Ich dane też nie są nigdzie backupowane. Jeśli jednak korzystamy z jakiegoś App Clip regularnie, to teoretycznie może on istnieć na naszym urządzeniu i nie będzie skasowany. Jeśli zainstalujemy pełną aplikację, to App Clip może część danych przekazać zanim zostanie usunięty. App Clip nie będzie istniał obok zainstalowanej aplikacji, do której należy – albo rybka (App Clip), albo akwarium (app).
- Apple U1 (układ ultraszerokopasmowy), wprowadzony w iPhone’ach 11, dotychczas był wykorzystywany tylko w funkcji AirDrop i tylko z innymi iPhone’ami 11. iOS 14 da deweloperom dostęp do U1, aby mogli go wykorzystywać w swoich aplikacjach, które korzystają z trójwymiarowej przestrzeni. Dostęp do U1 wymaga akceptacji użytkowników obu stron – śledzącej i śledzonej – podobnie jak dostęp do GPS, mikrofonu, itp. Będzie możliwość wydania pozwolenia na jednorazowy dostęp do U1.
- Jeszcze w temacie U1 – aby prawidłowo działał, iPhone powinien być trzymany pionowo (może dlatego nie ma U1 w iPadach?). Dodatkowo, sam układ ma określone pole widzenia, mniej więcej odpowiadające polu widzenia obiektywu ultraszerokokątnego w iPhone’ach 11, więc jeśli trackowane urządzenie jest poza tym polem, to otrzymamy jedynie dystans do niego, a nie kierunek.
- Dodano wsparcie dla ReplayKit, znanego z iOS-a i iPadOS-a, do umożliwiania bezpośredniego nagrywania tego, co dzieje się na ekranie lub transmitowania tych treści prosto w świat, np. na Twitcha.
iPadOS
- Apple przekonuje do korzystania z sidebarów w aplikacjach trzecich. Domyślnie ma być możliwość ich chowania i pokazywania, oraz tymczasowego pokazywania za pomocą gest z brzegu ekranu.
- Apple namawia też, żeby deweloperzy nie rezygnowali z optymalizacji obsługi aplikacji dotykiem, żeby potem nie okazało się, że program świetnie zachowuje się z klawiaturą i trackpadem, ale jest bezużyteczny za pomocą dotyku.
- Dodano odpowiednie API do wykorzystywania klawiatury i myszki w grach, co powinno umożliwić zupełne nowe możliwości i skusić deweloperów do nowych wyzwań.
iOS i iPadOS
- Widgety nie będą mogły być mini-aplikacjami, które wykonują zadania na ekranie domowym.
- Widgety będą wspierały deep-linking, więc jeśli pacniemy, np. w okładkę aktualnie odtwarzanego utworu w Apple Music, to może nas to przenieść bezpośrednio do danej płyty w aplikacji Apple Music.
- Podobnie jak macOS czerpie inspirację z iOS-a, tak iOS i iPadOS też czerpią z macOS-a. Dlatego OS na iPhone’a i iPada ma wspierać szerokie wspieranie drop-down menus, które będą często dostępne pod przyciskami z wielokropkiem. Ten element UI ma zastąpić duże lub pełnoekranowe menu, wyskakujące często z dołu ekranu.
- Kręciołek do wprowadzania daty i godziny zmieni format i nie zawsze będzie się pojawiał, zależnie od kontekstu. W końcu!
Shortcuts
- Workflow stworzony w Shortcuts nie będzie wymagał otworzenia aplikacji Shortcuts, aby wykonać kroki potrzebne dla danego zadania, np. jak będzie uruchomiony z Siri lub Share Sheet.
- Wygląda na to, że Shortcuts otrzymają wbudowane Smart Foldery. Nie wiadomo obecnie czy użytkownicy będą mogli tworzyć własne.
- Dodano więcej triggerów, np. podłączenia iPhone’a do ładowarki, otrzymanie emaila lub SMS-a, spadku do wybranego poziomu naładowania baterii i więcej z nich będzie mogła być uruchomiona automatycznie, bez koniecznej interwencji użytkownika. Od razu wiem, że stworzyć nowy Shortcut – jak podłączę telefon do ładowarki, będę w domu i będzie po zachodzie słońca, to oznacza to, że idę spać i żeby wyłączyć światła w domu.
- Najbardziej ciekawy jestem jednak Shortcuts na Apple Watchu…
Apple Watch
- Apple nie będzie już korzystało z Force Touch w swoich smartzegarkach.
- Pomimo dodania funkcji współdzielenia się naszymi tarczami, jeśli użytkownik Apple Watcha Hermès lub Nike podzieli się swoją tarczą, to wykorzystać ją będzie mógł tylko użytkownik takiego samego modelu, czy niestety nie wyświetlicie tarcz Hermès na zwykłym Apple Watchu.
Face ID i Touch ID
- Apple wprowadzi opcję, abyśmy mogli się logować na nasze konta w internecie i uwierzytelniać za pomocą Touch ID i Face ID. Opcjonalnie będzie można korzystać z serwisu atestującego Apple’a, który będzie dodatkowo weryfikował, czy osoba próbująca się uwierzytelnić, rzeczywiście korzysta ze wspieranego hardware’u. To funkcja skierowana np. dla banków.