2010-11-04 16 views
17

Chcę opracować aplikację na urządzenia z Androidem i iOS. Czy istnieje sposób, aby raz rozwinąć aplikację i wdrożyć ją na obu? Czy jest to konieczność rozwoju dla każdej platformy osobno?Android i iOS: jak opracować oba rozwiązania?

+0

Zobacz także http://stackoverflow.com/questions/6171128/ios-android-cross-platform-development, która zadaje to samo pytanie, ale została zamknięta, ponieważ poprosiła o rekomendacje IDE/framework . – sashoalm

Odpowiedz

6

Jeśli potrzebujesz aplikacji zapewniających natywne wrażenia, musisz napisać osobne aplikacje.

Uważam, że najlepszym miejscem na początek jest naprawdę fajna wersja internetowa zoptymalizowana pod kątem przeglądarek mobilnych. Myślę, że najpiękniejsze aplikacje internetowe są lepsze niż wiele natywnych aplikacji, ale nie są konkurencyjne w stosunku do lepszych natywnych aplikacji.

Istnieje również kilka opcji, takich jak Titanium lub PhoneGap, które są rodzajem hybrydowych systemów internetowych/natywnych, wykorzystują technologię internetową do tworzenia natywnych aplikacji.

5

Cóż, masz http://monotouch.net i http://monodroid.net. W ten sposób możesz mieć wspólną logikę biznesową i tylko ponownie rozwijać swój interfejs użytkownika.

+1

Wiele aplikacji mobilnych po prostu przedstawia informacje i ma bardzo mało logiki biznesowej. – mikerobi

2

Wszystko zależy od rodzaju aplikacji, którą chcesz opracować. Jeśli jest to gra, sugeruję napisanie jej w większości jako kodu natywnego i skorzystanie z faktu, że OpenGL ES 2.0 jest obsługiwany natywnie na obu platformach. Oczywiście cały kod Java nie będzie można ponownie używać w systemie iOS, więc wszystko, co może być wykonane jako przenośna biblioteka natywna, pomaga zmniejszyć ilość kodu jednorazowego użytku.

0

Codename One to kolejna, do programowania Java na obu platformach. Jednak nie ma z tym żadnego doświadczenia.

0

Jeśli jest to gra lub głównie aplikacja graficzna, BatteryTech Engine zrobi to, co chcesz. Nadal potrzebujesz XCode do kompilacji na iOS, ale poza tym jest to jedna podstawowa baza dla obu platform.

1

Używanie Qt, która jest platformą C++ do tworzenia między różnymi platformami, która ma zarówno licencję LGPL, jak i komercyjną, możesz rozwijać dla obu platform i po prostu przekompilować swoją aplikację z tego samego źródła. Jako bonus możesz również kierować na systemy Windows, Linux i Mac.

Należy jednak pamiętać, że Qt renderuje własne formanty, więc widżety nie będą wyglądały natywnie na Androidzie ani na iOS. Podobnie jak w przypadku wszystkich platform wieloplatformowych, zapewnia on najniższy wspólny mianownik pod względem funkcji.

Od their official blog:

z Qt można rozwijać prawdziwie aplikacje wieloplatformowe, które będą działać na pulpicie osadzone i platform mobilnych. Qt 5.2 wprowadza pełne wsparcie dla platform Android i iOS, a tym samym umożliwia tworzenie wieloplatformowych aplikacji mobilnych, które są pakowane i wdrażane zarówno w Google Play, jak i App Store z jednej bazy kodu. Zamiast pisać dwie wersje tego samego kodu z dwiema różnymi technologiami, możesz napisać raz z Qt!

Apple App Store nie może zaakceptować aplikacje używające dylibs, jednak, co może force you to use the commercial license dla aplikacji zamkniętych źródło:

iOS można użyć dynamicznie połączoną wersję bibliotek Qt, i mieć je w pakiecie z aplikacją. Dzięki temu aplikacja może korzystać z licencji LGPL dla Qt, jednocześnie zezwalając aplikacji na zamknięcie źródła. Dopiero okaże się, czy Apple zaakceptuje aplikacje, które pakują dylibs do sklepu App Store iOS.Jeśli Apple nie zaakceptuje aplikacji, które używają dołączonych dylib do App Store, konieczne będzie statyczne powiązanie Qt z aplikacją. A ponieważ Qt dla portu iOS używa wersji LGPL Qt, zasady statycznego łączenia z LGPL będą działać - to może być problem dla aplikacji o zamkniętym źródle.

Wreszcie, ponieważ Qt jest środowiskiem C++, aby rozwinąć aplikację, musisz użyć C++.

0

Zacząłem używać NativeScript i wygląda to obiecująco.

NativeScript to sposób tworzenia wieloplatformowych, natywnych aplikacji na systemy iOS i Android bez widoków WWW. Używaj Angulara, TypeScript lub nowoczesnego JavaScript, aby uzyskać prawdziwie natywny interfejs i wydajność podczas dzielenia się umiejętnościami i kodowaniem w Internecie. Uzyskaj 100% dostęp do natywnych interfejsów API za pomocą JavaScript i ponownego użycia pakietów z NPM, CocoaPods i Gradle. Open source i wspierane przez Telerik.

2

Istnieje wiele opcji do wyboru. To zależy, czy chcesz mieć Native Experience, czy chcesz, żeby rzeczy były wyświetlane w przeglądarce. Z natywnym doświadczeniem może być konieczne pewne natywne kodowanie, ale wciąż jest o wiele lepsze niż tworzenie 2 osobnych natywnych aplikacji.

Poniżej przedstawiam niektóre z nich.

Native Doświadczenie

Webview

0

Użyłem dużo krzyżowych platformach w ostatnich kilku roku, a od mojej perspektywy Xamarin jest najlepszy, bo w końcu to, można powiedzieć, jeśli aplikacja jest wieloplatformowa lub nie. ale z Xamarinem kompiluje się na natywną, więc nie ma widocznej różnicy między nimi pod względem interfejsu użytkownika. Możesz zacząć tutaj: https://www.xamarin.com

Powiązane problemy