Mobilalkalmazás fejlesztés

Fórumok

Üdv!

Érdeklődöm csak, hogy a különböző platformokon miben fejlesztetek.
Érdekelnek a vélemények, tapasztalatok (általánosságban). (Konkrét alkalmazáscél nincs.)
Pl.:
* Android:
Eclipse+ADT
AndroidStudio
MS Visual Studio
...stb.

* iOS:
XCode
Swift
iOS SDK
MS Visual Studio
...stb.

* Windows Phone:
MS Visual Studio
...

Eddig Android alá fejleszgettem saját magamnak teszt jelleggel (Eclipse+ADT).
De érdekelne hogy a többi platformra mivel érdemes fejleszteni (ill. Androidra kinek mi a tapasztalata az egyes devtool-okról)
Esetleg lehet multiplatformra fejleszteni (Android+iOS+WPh)? Pl. láttam Visual Studio-ban lehet a 3 platformra fejleszteni, kérdés mennyire átjárható a dolog.

update: Xamarin is érdekel.

Hozzászólások

Xamarint nézted már?

-----------
"Pontban 0:00-kor nem nagyon szoktak véletlen dolgok történni"

A Xamarin fizetős ha jól látom és így egy sima demo app-ot sem tud fordítani (licencet irogat). Kár...

...
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(379,5): mandroid error XA9005: User code size, 3044205 bytes, is larger than 131072 and requires aáIndieá(or higher) License.

C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(379,5): mandroid error XA9006: Using type `Android.Runtime.JNIEnv` requiresáIndieá(or higher) License.

Done building target "_ScanAssemblies" in project "MobileAppDemo.Droid.csproj" -- FAILED.

Done building project "MobileAppDemo.Droid.csproj" -- FAILED.

Build FAILED.

C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(379,5): mandroid error XA9005: User code size, 3044205 bytes, is larger than 131072 and requires aáIndieá(or higher) License.

C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(379,5): mandroid error XA9006: Using type `Android.Runtime.JNIEnv` requiresáIndieá(or higher) License.

0 Warning(s)

2 Error(s)

Time Elapsed 00:00:01.98

---------------------- Kész ----------------------

Nem sikerült a programot lefordítani. minimumEdition
Fordítás: 1 hiba, 0 figyelmeztetés

Alapból egy cross-platform projekt (solution) esetén csak Android lehet a célplatform?

Maga a Xamarin ingyenes (Windowsra lehet vele fejleszteni ingyen), a Xamarin.Android és a Xamarin.IOS a fizetős, éves előfizetés van, lejárat után nincs frissítés, de lehet használni tovább. Az IOS fejlesztéshez kell egy Macintosh is, és oda fel kell rakni az xcode-ot és a xamarin build hostot. A Business verzióból van 30 napos trial.

Épp most kaptam egy új projectet, mobil alkalmazás fejlesztés Windows Mobile 6.5.3 Professional-ra.
VS 2008 és Resco MobileForms Toolkit, jól fog mutatni a CV-ben. :D

Nézd meg az Intel Multi-OS Engine-t: https://software.intel.com/en-us/multi-os-engine

Java-ban fejleszthetsz iOS-re Android Studio-ból. Az üzleti logikát meg tudod osztani Android és iOS között. Ha már van Android-os appod, akkor a Migeran Analyzer-rel (http://analyzer.migeran.com) meg tudod nézni, hogy mennyit tudsz spórolni a Multi-OS Engine használatával.

Hasonló a Xamarin-hoz C#-ra (és a RoboVM-hez Java-ra), de ezekkel ellentétben ingyenes.

Full Disclosure: Az Intel tőlünk vette meg a Migeran for iOS termékünket, ami most a Multi-OS Engine része. A Migeran Analyzer saját, ingyenes szolgáltatás. Mi Intel Multi-OS Engine consulting, training és fejlesztő partnerek vagyunk.

Ha kérdésed van, szívesen válaszolok.

Üdv,
Gergely

Egy cross-platform kérdés:
Vannak olyan komponensek, UI elemek... stb. amik a cross-platform miatt nem használhatók?
Feltételezem a cross-platform miatt előfordul, hogy 1-2 komponens nem lesz használható, mert pl. ami van az egyik platformon, azaz a másikon lehet hogy nincs (pl. Androidon van valami UI komponens, ami esetleg iOS-en nincs).
Kinek van tapasztalata ebben?

Nem csak UI elemek, a komplett szolgáltatások is mások. Például iOS push noti (pontosabban APNS) esetén sokkal kisebb a payload méret, mint Google Cloud Messaging esetén. Ugyanígy integrált maps, ha szükséges, más.
UI komponensekből is van persze olyan, ami csak egy platformon van, de az csak a UI. Az API-k, működési modellek, app life cycle is más. Valódi cross-platform fejlesztés, ahol mindent elérhetsz, sosem lesz.

Attól függ, milyen képességekre van szükséged, és mennyire akarsz natív lenni. Persze mindig lehet olyan alkalmazást csinálni, ami mindenhol fut, de nem lesz natív alkalmazás, olyan értelemben, hogy mondjuk nem natív widgeteket használ, nem tartja be a platform style guide-ot stb. Például ilyenek a játékok. Saját UI, egy canvasra renderelnek mindent és kész. Ilyet midnig lehet, ez cross-platform persze, de nem lesz platformba illő egyik platformon sem.

Droidra Android Studio ami nagyjából ugyan az mint az Intellij Idea, az eclipse bugos, meg nehéz...