Zastrzeżenie: Pracuję dla firmy Particle Code, która tworzy ramy wieloplatformowe. W tej przestrzeni jest mnóstwo firm. Co tydzień pojawiają się nowe. Dobra wiadomość dla Ciebie: masz duży wybór.
Ramy te przyjmują różne podejścia, a wiele z nich jest zasadniczo zaprojektowanych w celu rozwiązywania różnych problemów. Niektóre koncentrują się na grach, inne na aplikacjach. Zadałbym następujące pytania:
Co chcesz napisać Aplikacja korporacyjna, aplikacja zwiększająca produktywność, gra logiczna, strzelanka FPS?
Jakie środowisko programistyczne preferujesz? IDE czy zwykły stary edytor tekstu?
Czy masz silne przeczucia co do języków programowania? Spośród znanych mi frameworków możesz wybierać spośród ActionScript, C ++, C #, Java, Lua i Ruby.
Moja firma jest bardziej zaangażowana w grę, więc nie bawiłem się tak często z frameworkami JavaScript + CSS, takimi jak Titanium, PhoneGap i Sencha. Ale mogę wam trochę opowiedzieć o niektórych frameworkach zorientowanych na gry. Gry i bogate aplikacje internetowe to obszar, w którym mogą zabłysnąć wieloplatformowe frameworki, ponieważ aplikacje te przywiązują większą wagę do unikalności wizualnej, a mniej do wtapiania się w natywne interfejsy użytkownika. Oto kilka frameworków, których należy szukać:
Unity www.unity3d.com to silnik gier 3D. To naprawdę nie przypomina żadnego innego środowiska programistycznego, w którym pracowałem. Budujesz sceny z modeli 3D i definiujesz zachowanie, dołączając skrypty do obiektów. Możesz pisać w JavaScript, C # lub Boo. Jeśli chcesz napisać grę opartą na fizyce 3D, która będzie działać na iOS, Android, Windows, OS X lub konsolach, to prawdopodobnie jest to narzędzie dla Ciebie. Możesz także pisać gry 2D, korzystając z zasobów 3D - dobrym przykładem jest gra niezależna Max and the Magic Marker, oparty na fizyce 2D side-scroller napisany w Unity. Jeśli tego nie wiesz, polecam to sprawdzić (szczególnie jeśli w Twoim domu są dzieci). Max jest dostępny na PC, Wii, iOS i Windows Phone 7 (chociaż ta ostatnia wersja jest portem, ponieważ Unity nie obsługuje WinPhone). Unity zawiera kilka przykładowych gier wraz z zasobami 3D i teksturami, co naprawdę pomaga przyspieszyć pracę w dość skomplikowanym środowisku.
Corona www.anscamobile.com/corona to silnik gier 2D, który wykorzystuje język skryptowy Lua i obsługuje systemy iOS i Android. Zaletą Corony jest możliwość bardzo szybkiego pisania gier opartych na fizyce w kilku linijkach kodu, a duża liczba gier opartych na Coronie w sklepie z aplikacjami na iOS świadczy o jej sukcesie. Środowisko jest bardzo ubogie, co niektórym spodoba się. Jest wyposażony w symulator i debugger. Dodajesz wybrany edytor tekstu i masz środowisko programistyczne. Podstawowy zestaw SDK nie zawiera żadnych komponentów interfejsu użytkownika, takich jak przyciski lub pola list, ale dodatek CoronaUI jest dostępny dla subskrybentów.
Particle SDK www.particlecode.com to nieco bardziej ogólne rozwiązanie wieloplatformowe z tłem w grach. Możesz pisać w języku Java lub ActionScript, korzystając z modelu aplikacji MVC. Zawiera środowisko IDE oparte na Eclipse z edytorem interfejsu użytkownika WYSIWYG. Obecnie obsługujemy tworzenie dla urządzeń z systemem Android, iOS, webOS i Windows Phone 7. Możesz także wyświetlać pliki Flash lub HTML5 na potrzeby internetu. Struktura została pierwotnie opracowana dla gier społecznościowych online dla wielu graczy, takich jak poker i backgammon, i pasuje do gier 2D i aplikacji ze złożoną logiką. Framework obsługuje grafikę 2D i zawiera silnik fizyki 2D.
Uwaga:
Dzisiaj ogłosiliśmy, że Particle Code został przejęty przez Appcelerator, twórców wieloplatformowego frameworka Titanium.
...
Od 1 stycznia 2012 r. [ Particle Code ] nie będzie już oficjalnie obsługiwać platformy [ Particle SDK ].
Źródło
- Airplay SDK www.madewithmarmalade.com to platforma C ++, która umożliwia programowanie w programie Visual Studio lub Xcode. Obsługuje zarówno grafikę 2D, jak i 3D. Airplay jest przeznaczony dla systemów iOS, Android, Bada, Symbian, webOS i Windows Mobile 6. Mają także dodatek do tworzenia aplikacji AirPlay na PSP. Mój C ++ jest bardzo zardzewiały, nie bawiłem się nim zbyt często, ale wygląda fajnie.
Jeśli chodzi o krzywą uczenia się, powiedziałbym, że Unity ma najbardziej stromą krzywą uczenia się (dla mnie), Corona była najprostsza, a Particle i Airplay są gdzieś pomiędzy.
Inną interesującą kwestią jest sposób, w jaki platformy obsługują różne czynniki kształtu. Corona obsługuje dynamiczne skalowanie, które będzie znane programistom Flash. Jest to bardzo łatwe w użyciu, ale oznacza, że marnujesz miejsce na ekranie podczas przechodzenia z ekranu 4: 3, takiego jak iPhone, do 16: 9, jak nowe urządzenia qHD z Androidem. Edytor interfejsu użytkownika programu Particle SDK umożliwia projektowanie elastycznych układów, które skalują się, ale także pozwala dostosować układy do indywidualnych rozmiarów ekranu. Zajmuje to trochę więcej czasu, ale pozwala dostosować wygląd aplikacji do każdego ekranu.
Oczywiście to, co działa w Twoim przypadku, zależy od Twojego indywidualnego gustu i stylu pracy, a także Twoich celów - dlatego polecam pobranie kilku z tych narzędzi i wypróbowanie ich. Wszystkie te narzędzia można wypróbować bezpłatnie.
Poza tym, gdybym tylko mógł zamieścić ogłoszenie o usłudze publicznej - większość tych narzędzi jest w naprawdę aktywnym rozwoju. Jeśli znajdziesz framework, który Ci się podoba, koniecznie wyślij opinię i daj mu znać, co Ci się podoba, czego nie lubisz i funkcje, które chciałbyś zobaczyć. Masz realną możliwość wpływania na kolejne wersje tych narzędzi.
Mam nadzieję że to pomoże.