Objective-C a Android

hlasů
18

Právě jsem dokončil poměrně velký projekt pro Android, a to zanechala hořkou pachuť v ústech s vědomím, že nikdy nedojde k jedné z nejrozšířenějších mobilních telefonů na této straně sluneční soustavy (ten touto ovocnou Krtečkem klub).

Takže, pro můj další projekt, chci psát způsobem, který dělá většinu komponent snadno přenosné mezi platformami iPhone a Android. Způsob, jakým jsem přemýšlel, jak toho dosáhnout, je tím, kódování většinu z toho v Objective-C, a pak se přidá díly specifické pro platformu ve více Objective-C a Java resp. Na Android straně, to bude vyžadovat použití v NDK.

Moje znalost C je dobrá, ale moje znalosti Objective-C se blíží nule, a nemám chuť se učit C ++. Jak rozumný přístup je uvedeno výše, a je tam nějaký lepší? Je nějaký způsob, jak mohu kód v Javě a ještě dosáhnout un-hacknutý trh iPhone? A jak je pravděpodobné, že lidé, které znám (iPhone uživatelé) bude mít telefon s Androidem příští rok?

Položena 06/03/2010 v 22:56
zdroj uživatelem
V jiných jazycích...                            


13 odpovědí

hlasů
22

Krok zpět a přemýšlet o tom, co na konci budete logicky moci sdílet.

Modely UI jsou docela odlišné, komponenty jsou různé. Na konci toho, co byste měli být schopni sdílet jsou data třídy objektů, případně některé algoritmy. Není to ani jako byste mohli reálně skončit sdílení sítě kód jako za starých časů, protože nejste přímo pomocí zásuvek, používáte knihovny HTTP.

Takže se všechno úsilí jste uvedení do toho opravdu najít přínos do konce? Zdá se mi, že konečný výsledek bude křehké nepořádek, který je těžko k aktualizaci, a je nevalný na obou platformách, místo aby byly skvěle na jeden.

Proč jsi psaní aplikací? Usnadnit život pro vás, nebo svým uživatelům?

Odpovězeno 07/03/2010 v 00:35
zdroj uživatelem

hlasů
14

Již bylo řečeno v podstatě to, ale rád bych, aby bylo jasnější. Nejlepším řešením je pravděpodobně psát:

  1. Cross-platform datové modely a základní logiku, pomocí:
    • kousky GNUstep (Obj-C), nebo
    • CF-Lite (C), nebo
    • Ať už budete chtít, tak dlouho, jak to je cross-platform: P
  2. iPhone pouze kód rozhraní, pomocí Kakao Touch (Obj-C)
  3. Android pouze kód rozhraní, ale to dělají pro Android.

To je tak blízko, jak se můžete dostat; jakýkoli pokus o zápis na platformě rozhraní kód bude nepochybně mít za následek průměrnou aplikace na obou platformách. Ale dělat celý zbytek svého kódu přenosný a právě obtékání rozhraní specifické pro zařízení kolem něj se děje po celou dobu a byl pracoval skvěle pro některé vývojáře iPhone.

Odpovězeno 07/03/2010 v 01:08
zdroj uživatelem

hlasů
11

Objective-C, aniž by Kakao není tak užitečná a nepřinese vám mnohem blíže k haveing ​​pracovní iPhone codebase. To by asi bylo lepší psát své jádro v C s jádrem Foundation a buď Java nebo Objective-C pro specifické části plošiny. Apple má open source velký kus jádra nadace jako CF-Lite, a je to bezplatná přemostit Kakao na OS X (tj můžete použít řadu tříd CF zaměnitelně s jejich protějšky kakao).

Odpovězeno 06/03/2010 v 23:57
zdroj uživatelem

hlasů
9

Podle mého odhadu, který nemá žádné zkušenosti je zálohovat, je to, že pravděpodobně mohl napsat Objektu C s Google NDK nějakým způsobem, vzhledem k tomu, že GCC existuje pro architekturu ARM, je open source, má Obj-C kompilátor a základní Obj-C runtime (která, pokud není již pravděpodobně mohly být hacknutý do práce na nové architektuře), atd.

To by mohlo být také hodně práce pro pochybného prospěch.

A samozřejmě „Obj-C“ (bez NStříd) znamená něco úplně jiného, než „Cocoa“, což je to, co většina lidí opravdu myslí, když říkají „Objektu C“. Ty by mohly být schopni znovu použít některé z GNUstep pro některé, ale ... Upřímně řečeno, já o tom pochybuji. Zní to opět jako hodně práce.

Takže ano, myslím, že je to možné. Je to také hodně práce a já si nemyslím, že to stojí za to.

Vzhledem k tomu, co jste řekl, když jsem se pokoušeli to, byl bych v pokušení psát co nejvíce z vaší základní logice jak je to možné v C, pak ho zabalit se dvěma samostatnými GUI pro každou platformu.

Odpovězeno 06/03/2010 v 23:12
zdroj uživatelem

hlasů
2

Apportable SDK je Objective-C Přístup k napsání jednou a nasadit jak na iOS a Android. Bude cross-kompilaci běžící projekt IOS Xcode pro Android SDK.

Viz zde pro ukázkové aplikace, které běží na obou platformách během několika minut po stažení.

Odpovězeno 23/05/2013 v 22:36
zdroj uživatelem

hlasů
2

Přichází na to z jiného úhlu pohledu ... Já vím, že jsi říkala, že chce, aby se pokusila držet s Javou, ale pokud víte, C #, pak byste mohl jít s rámcem MonoTouch pro iPhone. Mono je v podstatě i open source implementace .NET stohu. Tým Mono pracuje na uvedení Mono pro Android, takže si mohl v podstatě napsat sdílenou C # knihovnu pro obchodní logiku a mají různé názory / ovládače na platformě. To by vše bylo v jazyce C # a samozřejmě je to trochu dražší, ale to vyřešit problém psát vše v různých jazycích.

Věřím, že to je voláno MonoTouch na iPhone a MonoDroid na Android.

Odpovězeno 07/03/2010 v 02:17
zdroj uživatelem

hlasů
1

Zde je hovor z @ měřítku konference mobilním telefonu Facebook, kde použité dva týmy (Dropbox a orchestr) podobné přístupy. Dropbox používá C ++ vytvoření libdropbox a orchestr (schránka) používá Objective-C pro vytvoření libmailbox.

Opět platí, že oni psali jejich přední konce na platformě rodném jazyce a používají své multiplatformních knihovny pro základní logice a dat.

Hlavní výhody I pobral: Schránka se změnila z iOS na android 5 týdnů, protože to byl právě vybudování UI kód. Dropbox je beta testovací změny základní funkce, které jsou ve sdílené knihovny s operačním systémem Android beta nasazení bylo to snazší dělat masivní nasadí ve větším měřítku pro beta staví.

Odpovězeno 13/11/2013 v 22:30
zdroj uživatelem

hlasů
1

Uvědomuji si, to může být o něco později, ale zdá se, že toto odvětví se děje ve směru webových aplikací v těchto dnech, aby se dosáhlo přenositelnost aplikací. To znamená, že vkládání webového prohlížeče ve svém „rodném skeletu app“, a psaní JavaScript, CSS a HTML pro Android, iOS a dalších významných smartphone platformy.

Existují nástroje, které vám pomohou s tím. Možná budete chtít podívat na PhoneGap a Sencha dotek , ale je jich mnohem víc. Všimněte si, že tento přístup nemusí být ideální pro real-time / animačních náročných aplikací.

Odpovězeno 11/04/2012 v 17:01
zdroj uživatelem

hlasů
1

XMLVM je projekt, který je schopen překládat (některé) Android aplikace na iPhone. Pro získání více informací, navštivte http://xmlvm.org/android/

Odpovězeno 26/03/2010 v 13:26
zdroj uživatelem

hlasů
1

Sám jsem to zkusil a neskončil sledování mluvit, ale tam je Google Tech Talk v rozvojových iPhone aplikace pomocí Java na YouTube, který vypadá docela slibně.

Odpovězeno 13/03/2010 v 17:40
zdroj uživatelem

hlasů
1

Objective-C runtime dosud nebyl portován na Android. To by nemělo být příliš mnoho práce, ale stále bez pracovní znalostí jazyka pochybuji, budete mít snadnou práci portování.

Co se snažíte udělat, je bude těžké pro generickou aplikací, ale měla by být možné, aby hry, pokud se rozhodnete rozvíjet hru v prostém C (který je podporován jak Android NDK a iPhone). Budete muset napsat nějaké lepidlo kód projít vstupní události z prostředí Obj-C a Java do C kódu, ale to by neměl být velký problém - Objective-C umožňuje volat přímo do C kód a existuje spousta ukázkových projektů, které dělají přesně to pro Android.

Odpovězeno 13/03/2010 v 02:11
zdroj uživatelem

hlasů
1

Nejsem si jistý, o Androidu, ale s iPhone, můžete v podstatě napsat rovnou C tak dlouho, dokud ji zabalit do tříd Objective-C.

Odpovězeno 07/03/2010 v 00:25
zdroj uživatelem

hlasů
0

Pokud můžete čekat, až později v tomto roce (přesné množství času neznámé), Adobe bude mít AIR pro systém Android a kompilátor pro iPhone. Tak můžete psát aplikaci v AIR pro Android a používat většinu stejného kódu ke kompilaci na iPhone.

http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/

Dokonce i když se nemůžete dočkat vidět: http://www.insideria.com/2008/12/actionscript-to-cocoa---protot.html kde vysvětlí podobnosti mezi ActionScript a kakao.

Také check out: http://labs.adobe.com/technologies/air2/ pro verzi AIR schopný pomocí dotykové obrazovky.

Takže můžete brzy psát jednou a nasadit na Android a iPhone pomocí jazyka ActionScript 3.

Odpovězeno 25/03/2010 v 18:41
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more