Projekt Mono na iPhone, czyli jak otwarty .NET omija restrykcje Apple

  • Home
  • /
  • Blog
  • /
  • Projekt Mono na iPhone, czyli jak otwarty .NET omija restrykcje Apple

Data: 19 lutego, 2010

Apple nie pozwala instalować na swoich produktach mobilnych aplikacji korzystających z wirtualnych maszyn bądź podobnych rozwiązań. Oficjalnie tłumaczy to troską o wygodę i dobro konsumenta, lecz według komentatorów chodzi jedynie o pełną kontrolę nad platformą. Dlatego urządzenia takie jak iPhone nie posiadają Flasha, Javy ani innych wirtualnych środowisk uruchomieniowych. Jednak ekipie z Novella, zajmującej się rozwojem Mono, udało się obejść ograniczenia narzucane przez Apple.

Joseph Hill z Novella w rozmowie z Edem Brunette opowiada, w jaki sposób jego zespół stworzył rozwiązanie pozwalające uruchamiać na iPhone (i iPad) programy napisane dla platformy Mono:

Ed: Dlaczego Apple umożliwia użycie technologii .NET za pomocą MonoTouch, podczas gdy wyklucza użycie Javy na iPhone/iPad?

Joseph: Java (i inne środowiska uruchomieniowe) są wykluczone z platformy iPhone, ponieważ [napisana w niej – przyp. tłum.] aplikacja nie może uruchamiać kodu z zapisywalnej pamięci. Maszyny wirtualne – takie jak Java czy .NET – generują natywny kod z bytecode’u w locie, a następnie go wykonują; jednakże, z różnych względów, jądro iPhone’a nie pozwoli na uruchomienie tego kodu. Technologia Ahead-Of-Time (AOT), dostępna w Mono, omija ten problem generując cały natywny kod – który aplikacja miałaby generować w locie – przed jej uruchomieniem, dzięki czemu uruchamiana na iPhone aplikacja jest w 100% natywna.

Dalej omawiane są ograniczenia w dostępie do bibliotek Mono i mechanizmów .NET z poziomu MonoTouch, a także dostępne narzędzia, pozwalające tworzyć aplikacje w tej technologii. Wywiad kończy się konkluzją Eda:

Miejmy nadzieję pewnego dnia ujrzymy więcej podobnych obejść dla języków takich jak Java czy Lua, bądź być może Apple po prostu ustąpi i zniesie ograniczenia. Programiści powinni mieć możliwość dobrania jak najlepszych narzędzi według ich własnych potrzeb i doświadczenia, a nie arbitralnych zasad ustalonych w Cupertino.

Newsletter OSnews raz w tygodniu. Bez reklam.