728 x 90

Xcode 9 – nowości

Xcode 9 – nowości

Na stronach Apple pojawił się dokładny opis nowości, które dodane zostały do Xcode w najnowszym wydaniu. Kilka z nich to takie, na które czekaliśmy od dawna.

Nowe funkcje Xcode

  1. Nowy edytor, bazujący na strukturze dokumentu i pozwalający na inteligentną nawigację w kodzie. Edytor jest dużo szybszy i wspiera Markdown. Pierwsza różnica rzucająca się w oczy to wygodniejsza praca z podświetlonymi komunikatami błędów.
  2. Refactoring. Niezrozumiałą od początku Swifta rzeczą był brak wspracia dla refactoringu kodu. Tym bardziej, że konkurencyjne edytory to umiały. Teraz Xcode potrafi wykonać refactoring Swifta, włączając w to nawet refactoring w plikach Interface Buildera i wielu innych. Refactoring działa przy tym globalnie dla wszystkich obsługiwanych przez siebie typów plików, a wszystkie zmiany można śledzić w jednym miejscu.
  3. Super szybkie wyszukiwanie. Nie podano o ile szybsze od starego.
  4. Debugowanie zdalne (przez sieć)  urządzeń z systemem iOS i tvOS.  Zgodnie z informacjami podanymi przez Apple zdalnie będzie można również instalować aplikację do debugowania. Zniknie więc potrzeba podłączania urządzenia do komputera (ucieszą się posiadacze macbooków z dwoma portami usb-c). Na razie trzeba wciąż na chwile podłączyć telefon i zaznaczyć opcję połączenia przez sieć, czyżby jednak otwierało to jednak także możliwość wyprodukowania iPhone bez portów, całkowicie bezprzewodowego? tvOS pozwoli na podłączenie z użyciem Bonjour.
  5. Większe wsparcie dla GitHub i repozytoriów zarządzania wersjami.
  6. Wbudowany serwer XCode pozwalający na ciągłą integrację (continuous integration). Rozwiązanie to pozwala z dowolnego Maca zrobić serwer źródeł, który automatycznie dba o ich kompilację.
  7. Nowe szablony Playground.
  8. Nowy system budowania projektu, który zwiększa wydajność i niezawodność.

Zmiany ogólne.

Uaktualniony został sposób definiowania makr. Można definiować makra dla użytkowników, projektów, albo konkretnych użytkowników w projektach. Silnik indeksowania został zmodyfikowany tak, aby indeksować pliki podczas ich kompilacji. Zarządzanie symulatorami zostało przeniesione do odrębnego od zarządzania urządzeniami okna.

Assety również doczekały się kilku modyfikacji : dodano obsługę ikon o szerszym zakresie barw, dodano obsługę kolorów, duża ikona (1024×1024), którą do tej pory dodawaliśmy przez itunes connect, teraz jest elementem zbioru App Icon, dodano obsługę formatu HEIF

Nowy system budowania projektu

  • Większa niezawodność
  • Obsługa większej ilości problemów związanych z konfiguracją projektu
  • Lepsza wydajność

Najciekawsze pozostałe nowości:

  • Nowe tryby pracy w tle dla watchOS (do użycia przy nagrywaniu dźwięku i nawigacji)
  • Nowe tryby w tvOS do pobierania danych w tle
  • Możliwość wykrycia przez Xcode niezdefiniowanego zachowania programu
  • Zaawansowane możliwości debugowania GPU
  • Wykrywanie wywołań AppKit, UIKit i WebKit, które powinny być wykonane w głównym wątku, a nie są.
  • Rozszerzona nawigacja po breakpointach
  • Graficzne znaczniki zmodyfikowanych breakpointów
  • Debugger widoku umie pracować z widokami SceneKit i SpriteKit
  • Nowe widoki i strategie w Instruments
  • Poprawione narzędzia debugowania dla frameworku Metal
  • Dodana obsługa dla pełnoekranowych aplikacji watchOS
  • Nowe więzy margin – baseline w IB
  • Obsługa kolorów nazwanych (definiowanych w assetach)

Zmiany w symulatorach

  • Wiele symulatorów na raz (współbieżnie)
    • w tym samym czasie
    • można przetestować oprogramowanie działające w parze z innymi urządzeniami
  • Nowe okna z kontrolkami sprzętowymi (tak jak było na samym początku w roku 2010 – wracają do pomysłu Jobsa)
  • Nagrywanie filmów z symulatorów

Swift 4

  • Ten sam kompilator dla Swift 3 i Swift 4. Mogą być w tym samym projekcie cele z różnymi wersjami języka
  • Poprawione narzędzie migracji z 3 do 4
  • Zmniejszona wielkość kodu

O samych zmianach w Swift 4 dokładniej napiszemy w kolejnym wpisie.

Źródło obrazu tytułowego: opracowanie własne na podstawie apple.com

Leave a Comment

Your email address will not be published. Required fields are marked with *

Cancel reply

Inne artykuły