Pierwsza odpowiedź brzmi: Kiedyś na pewno. Jednak po ostatniej serii doniesień raczej zastanawiamy się nad tym, czy już w tym roku. Jeżeli tak, to nadchodzące „wirtualne” WWDC 2020 może być najciekawszym od 2005 roku.
Xcode dla iPadOS i iOS?
Taka informacja wczoraj obiegła różne serwisy i blogi, a zapoczątkował ją jeden tweet.
I’m not gonna say that Final Cut is coming to iPad…
— Jon Prosser (@jon_prosser) April 20, 2020
But XCode is present on iOS / iPad OS 14. 👀
The implications there are HUGE.
Opens the door for “Pro” applications to come to iPad.
I mentioned this last week on a live stream, but figured it was worth the tweet 🤷🏼♂️
Opublikował go Jon Prosser, znany z całkiem trafnym przepowiedni. Napisał on: „Nie powiem, że Final Cut trafi na iPada… ale Xcode jest obecny na iOS / iPad OS 14. Konsekwencje są ogromne. Otwiera drzwi dla aplikacji Pro, które mają trafić do iPada”.
Jednak są tacy, którzy studzą jego zapał:
The hidden Xcode Preview app is present in iOS 13 and is a companion app for showing layout previews on device from the main Xcode app running on a Mac. Not to say you’re wrong, just an FYI for folks. https://t.co/T03inhRE4Y https://t.co/onQ6vN2RhT
— Steve Moser (@SteveMoser) April 20, 2020
Steve Moser sugeruje, że zaszła pomyłka i za kompletny Xcode został wzięty kod, który odpowiada za prezentację widoków, które są opracowywane na Xcode „stacjonarnym”, na podpiętym do komputera iPhone lub iPadzie.
Czy Xcode na iPadzie jest potrzebny?
Od czasu, gdy pojawiło się hasło „iPad only”, zawsze odpowiadam, że bardzo chętnie, ale dla programistów piszących aplikacje „na urządzenia”, a nie jakieś webowe, iPad się wciąż nie nadaje. Nie nadaje się między innymi z braku Xcode. Często też sobie grubo żartuję, że gdy powstanie Xcode na iPada, to Apple nie będzie musiał już produkować komputerów.
Xcode nie jest potworną kobyłą. Ze średnim projektem zadowala się kilkuset megabajtami pamięci RAM. Na iPadzie Pro pomieściłby się spokojnie. Pewnym problemem może być brak „swapowania”, czyli wirtualnej pamięci korzystającej z zapisu na dysk. Podczas pracy nad dużym projektem i próbom uruchamiania go na tym samym urządzeniu, może zrobić się ciasno w RAM, ale i na ekranie. Analiza „na żywo” kodu Swift jest dość energożerna, ale z tym iPad by sobie poradził. Przestrzeń ekranu na iPadzie jest zadowalająca. iPad 11″ może powierzchnią ekranu konkurować z MacBookiem 13″, a wersja 12,9″ zbliża się nawet do 15″, a to dzięki innym proporcjom. Jednak dość trudne byłoby testowanie aplikacji na tym samym urządzeniu.
Jednak są inne problemy, choćby zasady wyznaczone przez Apple. Aplikacje nie mogą wykonywać „zewnętrznego” niesprawdzonego przez cenzorów App Store kodu. Xcode właśnie to by robił. Można by uruchomić pobrany z internetu projekt bez zgody Apple. Jak na razie firma bardzo tego unika. To tylko zasady, które można zmienić, jednak jeżeli Apple dopuściłoby wyłącznie Xcode, to zaraz naraziłoby się na procesy antymonopolowe. Osobiście bardzo bym się ucieszył ze zniesienia tego zakazu, bo otworzyłoby to drogę dla przeniesienia wielu innych narzędzi programistycznych na iPadOS, jednak zarazem otworzyłoby puszkę pandory. Możliwe, że Apple zezwoliłby na używanie Xcode tylko deweloperom po „zaklepaniu” odpowiednich zgód, obowiązków i wyłączeń odpowiedzialności.
Wiele moich wątpliwości budzi też informacja o Xcode na iOS. Nie potrafię sobie wyobrazić pracy z Xcode na iPhone, nawet mocno uproszczonej.
Jeżeli nie Xcode to co?
Być może alarm wywołał wspomniany kod do podglądu widoków podczas pracy ze stacjonarnym Xcode. Jednak bardzo prawdopodobne jest, że na początek Apple zdecyduje się powiększyć znacznie edukacyjne możliwości iPada w dziedzinie programowania i zaoferuje pełny Playground znany z Xcode stacjonarnego. Chodzi o możliwość pisania, analizy i wykonywania kodu Swift w oderwaniu od sprzętu. Można tak rozwijać pomysły na algorytmy, uczyć się składni, czy sprawdzać poprawność funkcji.
Myślę, że takie narzędzie przyda się nie tylko w edukacji, ale i deweloperzy, którzy dość często używają Playground, przyjmą je z radością na iPadzie.
„Otwiera drzwi dla aplikacji Pro, które mają trafić do iPada”
… ale o co chodzi? Te drzwi już są przecież od dawna otwarte.
„ Aplikacje nie mogą wykonywać „zewnętrznego” niesprawdzonego przez cenzorów App Store kodu. Xcode właśnie to by robił”
Niekoniecznie. Skoro na iPhone można odpalić Winzgrozę 10, to wirtualną maszynę można by wykorzystać w Xcode. Czy się mylè?