Android eller iOS?

Det var ikke helt uden bekymring jeg kastede mig over dagens 15 minutters oplæg på Version2s Mobile Computing konference på IT-Universitetet i København: Ville der skjult bag Windows Phone entusiaster og Symbian die hard proselytter sidde et par iOS fanatikere eller lettere anspændte Android nørder' Ville de have tomater med' Og ville de - når tonen blev en anelse skarp omkring den ene eller den anden platform - vælge at kaste med disse' Ville jeg kunne nå at dukke mig'

Med 15 minutter når man ikke rundt om ret meget og mit fokus lagde jeg derfor på de aspekter af app-udvikling til de to platforme iOS og Android som jeg helt subjektivt fandt mest markante:

Platformseksplosionen: På iOS skal man forholde sig til to enheder: iPad og iPhone/iPod Touch. Det er overkommeligt og verden er veldefineret. I Android verdenen er der mindst 24 forskellige leverandører af enheder der kører Android og +374 forskellige enheder eller varianter derover (kilde: Android Market). Det gør det noget mere omstændeligt at sikre sig at en applikation virker bredt i Androidverdenen.

GUI Design Apples gratis XCode miljø har en grafisk interface builder indbygget, som er let at gå til og som gør det rimeligt enkelt at overholde Apples design guidelines på overordnet niveau. Til Android findes et mylder af Java IDE'er og jeg tog Eclipse som reference da den vel er de-facto værktøjet. Her er der også en grafisk GUI builder, men den lader noget tilbage at ønske og man ender uvægerligt i XML viewet af brugergrænsefladen før eller siden.

Emulatoren Begge platforme tilbyder udvikling og test via en emulator og begge har de features man forventer: deploy, debug, samt forskellige mere eller mindre vellykkede emuleringer af andre features herunder multitouch og rotering af skærmen. Men når man ser på turnaroundtiden er det markant hurtigere at installere programmet på iOS emulatoren end på Android og tid er som bekendt penge.

Markedspladsen Applikationer sælges via dedikerede markedspladser, som kan nås via nettet og telefonen. For iOS er det Apples Appstore, der godt og grundigt låser brugeren inde i Apples verden hvor hver en applikation testes og vurderes før den efter nogen tid, dage, uger frigives eller afvises via iTunes. Android Market tilbyder i diametral modsætning hertil øjeblikkelig publicering og ekstrem høj turnaroundtid. Prisen for denne fleksibilitet er potentielt malware.

Programmeringssprog Jeg synes det var fint at kode i C i 1980'erne og såmænd også frem til ca. midt 90'erne. Det var en udfordring at få styr på memory håndtering med C++, hærdende at skulle fjerne stray pointer exceptions og tårevædende når koden endelig var rimeligt fejlfri. Siden kom Java og det var slut med den ballade. Objective C er ikke kommet videre og jeg finder det grundigt irriterende igen at skulle håndtere reference counting på objekter.

Min samlede konklusion på disse pointer er at det er markant nemmere at gå til iOS, men der er også tale om en meget låst platform med et lettere 80'er agtigt sprog der lader noget tilbage at ønske. Android har sine udfordringer specielt i platformseksplosionen, der truer med at gøre det særdeles udfordrende og dermed dyrt at få apps til at køre fornuftigt på den brede vifte at enheder. Det er måske prisen for en åben platform, men måske også konsekvensen af at ville gabe over for meget?

Der var ingen tomater på konferencen, hvis niveau var højt både på taler og deltagersiden med relevante indlæg og diskussioner.

Hvis vi du ikke var der, gik du glip af det.

Kommentarer (47)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Anonym

Hvis ens app kan klare det, er det da en fordel at lave appen saa det er en hjemmeside i stedet? Saa virker den ens paa android og iphone.

Men jo, android ulidelige langsomme emulator goer det traels at bruge den, tilgengaeld skriver man i java, saa der er lidt mindre memory styring, i forehold til iOS.

Et andet argument man kunne overveje er at programmer paa android marked kan man naermest finde alt gratis, hvor imod paa App Store koster naesten alle apps et lille beloeb.

Er reklame indtaegt reglerne ens for android og iOS? Altsaa at man faa penge bare at en reklame bliver vist?

Det er ogsaa muligt at kode begge platforme i andet end det paa forhaand givet sprog. Mono virker paa begge platforme blandt andet.

  • 0
  • 0
Kåre Kjelstrøm

@David:

Det er helt sikkert værd at overveje web-apps, men man får ingen app-store præcens på den måde så en hybrid løsning er nok bedre.

Ifht. Apples App Store så har jeg nu ikke bemærket at alt koster penge. Det myldrer da med gratis apps også her.

For så vidt angår reklamer formoder jeg at det afhænger af reklameudbyderen. F.eks. findes AdMob til både Android og iPhone og modellen er vel den samme?

Jeg har personligt ingen erfaring med Mono, men der er markante forskelle på de to platforme (ui guidelines, widgets, services, intents, ...) så selvom noget af kernen kan deles (og det da klart er en fordel) vil man stadig skulle kode store dele specifikt.

@Jesper

Jo: Ekstremt lav turnaroundtid :)

Og du har ret ifht. XCode 4 - man skal lige slippe de 99$ det koster at registrere sig som developer før den kan hentes.

@Jon

Det er det da også. Det er uhyggelige mængder af drivere der er skrevet til Windows over årene og det vel de færreste der kan hævde ikke at have haft problemer med sådan en på et tidspunkt. Hardwaremylderet giver en fordel fordi det skaber et marked der trækker mange aktører til, men det er et tveægget sværd fordi den samme diversitet gør det sværere for Google at kontrollere at brugerens oplevelse af hardware + software faktisk er god.

  • 0
  • 0
Morten Grouleff

Ja enig, den er ret sløv.

Men man kan da heldigvis bare sætte ens rigtige, hurtige, android-telefon til, og debugge på den i stedet. Det går rigtig hurtigt at starte ens app der. Det tager omtrent lige så længe som det tager at slippe musen og flytte hånden hen til telefonen...

Min fornemmelse er at det for større programmer er noget mere tidskrævende at udvikle til IOS end til Android. (Et typisk tegn på det, jeg mener med "større" her er, når GUI-builderen alligevel ikke kan benyttes, fordi gui'en bygges dynamisk ud fra data.) Hvad er din oplevelse, Kåre?

  • 0
  • 0
Michael Nielsen

Hej Kaare

Det som du ikke kommer ind på er at for iOS skal man kun udvikle i Obj C til alle applikationstyper. For Android, WM7, WebOS og RIM kan man udvikle i et emuleret sprog: Java, JavaScript, Silverlight, Flash. For Spil og andre Apps som kræver at man udnytter hardwaren skal man så bruge C eller C++.

Det giver vel endnu en mulig fragmentering med dårligere kvalitet til følge.

Der ud over vil jeg nævne at jeg laver rigtig meget Java, og hvis man ikke koder med memory og CPU performance i tankerne så kommer programmet til at lide under kraftige degradering pga. memory management. Man ser disse i Android ved at OS lagger og hakker.

Konklusionen er vel at hvis man kan skrive rigtig software vil dette altid out perform sandbox modellen.

Og så indeholder Mac OS X og Mach kernen jo de sikkerheds mekanismer som Linux mangler som skal adresseres af en Java sikkerhedsmodel.

mvh
Michael

  • 0
  • 0
Carsten Sonne

Det er måske prisen for en åben platform, men måske også konsekvensen af at ville gabe over for meget?

Hvor iOS repræsentere en centralistisk filosofi - med de positive og negative effekter en sådan har, så repræsentere Android en mere decentral. Ethvert valg er samtidig et fravalg. Nok lyder en talemåde "det bedste fra begge verdner", men der vil altid være trade-offs ved valg.

De stramme retningslinier i iOS regi, sikre konformitet og ensartethed. Omvendt hæmmer selvsamme skarp optrukne grænser mulighed for diversitet. Hvor iOS lever i en designet verden, lever Android i en mere kaotisk - men hvori evolutionen trives og næres af de frie rammer. Om Google har sluppet Android fri i en så kaotisk verden, at den i stedet hæmmer evolutionære fremskridt, kan kun tiden vise.

Nok giver pragmatiske valg ofte større chance for gevinst. Alligevel er det formegentlig klogest at vælge platform ud fra den filosofi, der passer en bedst. Tekniske og måske delvis lavpraktiske opgaver, fylder selvfølgelig meget af tiden som udvikler. Alligevel er det ikke i den rå teknik at glæden skabes.

  • 0
  • 0
Palle Simonsen

Hvis jeg skulle udvikle til en Mobil platform og ikke har mulighed for at udvikle til mere end en platform eller ikke synes, at cross-platform værktøjerne er brugbare, ville jeg vælge den platform der har den største nuværende og potentielle fremtidige markedsandel blandt min målgruppe. Disse oplysninger er nogenlunde objekttivt tilgængelige fra diverse kilder fordelt på geografier etc.

  • 0
  • 0
Michael Nielsen

@Heine

Standard sandbox stuff:

  1. Ingen App kan tilgå iPhone OS filer
  2. En App kan ikke tilgå andre Apps filer
  3. En App kan ikke tilgå indstilling osv.
  4. Obj C er ikke statisk linked til beskyttede system libraries
  5. Obj C messages kan pga. 4 checkes for permission.

På Android er der en Java security model og en anden for C/C++ eller rettere en manglende.

Og så en lille husker: Apple, MS-Nokia, RIM, HP sælger produkter til deres kunder: Dig og mig.

Googles kunder er dem som levere reklamaer. Android skal derfor være sikres stor udbredelse og let adgang til at vise reklamer... push besked reklamer er et godt eksempel.

mvh
Michael

  • 0
  • 0
Klaus Skelbæk Madsen

Og så en lille husker: Apple, MS-Nokia, RIM, HP sælger produkter til deres kunder: Dig og mig.

Mobil-producenternes kunder er teleselskaberne.

Det er derfor mobiltelefoner kan simlåses. Det vil kunderne nemlig have. Forbrugerne er knapt så glade for det.

  • 0
  • 0
Jesper Louis Andersen

[quote]Standard sandbox stuff:[/quote

En af ulemperne ved Apples sandbox var dog den at Javascript ikke kunne JIT oversættes. En JIT oversætter skriver kodesekvenser ned i hukommelsen, hvorefter den sætter pågældende hukommelse til at være eksekverbart og hopper til det. Som udgangspunkt kan en App af gode grunde ikke gøre det, fordi det ville være et gabende sikkerhedshul.

Eftersom det er Dalvik på Android der sætter sikkerhedsgrænserne, så er det ikke noget problem der.

Mit umiddelbare gæt er dog at Google vil jagte sandboxing på samme måde som iOS på længere sigt også. De er allerede godt på vej i Chrome og har udviklere som porten Robert Watsons Capsicum framework til Linux. Simpelthen fordi et ekstra lag af sikkerhed aldrig er at foragte.

  • 0
  • 0
Carsten Sonne

... ville jeg vælge den platform der har den største nuværende og potentielle fremtidige markedsandel blandt min målgruppe. Disse oplysninger er nogenlunde objekttivt tilgængelige fra diverse kilder fordelt på geografier etc.

Hvis bare det var så nemt. Desværre er fremtiden ikke sådan at forudsige :-)

  • 0
  • 0
Michael Nielsen

@Jesper

Ja, JS performance er et problem, som også gør at den eneste APP til iOS som tillader eksekver på skrivebar hukommelse er Safari. Det er jo så ironisk nok også igennem web browserne de fleste angreb vil komme.

@Heine

Min point er at det er Android/Dalvik som er sandboxen og derfor skal native kode køres via Android Native Development Kit (NDK).

  • 0
  • 0
Michael Nielsen

Næ, det har du ret i. Jeg tog fejl.. lidt.
Det som gør Mac OS X speciel er at Obj-C kald er dynamiske kald til libraries og det er derfor på det tidspunkt at en app forsøger at tilgå f.eks. lokation service at brugeren bliver prompted for tilladelse.

"Only Notifications and Location Services require user permission, which is automatically asked to the user the very first time your application attempt to use the corresponding API."

Android apps skal brugeren give tilladelse ved f.eks. install. Så det kan være en lang række rettigheder man giver en app uden brugeren er klar over hvad de har sagt ja til.

iOS apps giver jo ikke adgang til SMS, telefonen etc. pga. 3rd part apps ikke har sammen sikkerheds signatur.

  • 0
  • 0
Jakob Damkjær

"Og XCode 4 er ikke gratis længere, og er en anelse mindre sær end foregængeren."

Hvis man skal ud og købe Xcode uden at være registreret Apple udvikler (som koster 99 US$/år det er næsten spidsen af en bondegård) så skal man slippe 5 US$ for at få fingrene i XCode 4.

Desuden så er malware ikke det største problem med den ukontrolerede tilstand der hersker på android market. Det er mærkevare udvandning og copyright overtrædelser.

Søg på ethvert succesrigt spill på android market og der er tonsvis af kopi apps og såkaldte LWP (live wall paper) der klart overtræder copyrighten på Rovios original materiale.

Men IP overtrædelser og andre lovovertrædelser mht. fx. reklamer for ulovlige internet "apoteker" er ikke noget som Google har problemer med at tjene penge på...

Jeg tror at udviklere der har apps til salg på android market nok ville være obs på kopier der tar penge ud af deres lomme og udvander deres brand.

Se fx. https://market.android.com/details?id=com.h2k.abi_lwpg

/Jakob

  • 0
  • 0
Palle Simonsen

Man kan sagtens lave en fremskrivning af tendenserne eller finde nogle brugbare sådanne på nettet.
De få og små ting jeg selv laver, bliver lavet til Android platformen, der for mig også er hurtig og enkel at gå til.

./palle

  • 0
  • 0
Per Hansen

Hvad er det der hurtigt bliver et problem på Android ??

Ja, der er flere leverandører af android telefoner, og de har forskellige hastigheder. Og det er da et problem, hvis man laver en CPU tung app, så vil den performe dårligt på f.eks. en Wildfire.

Men problemet er det samme på iOS. Blot i mindre grad indtil videre.
iPhone4 er markant hurtigere end iPhone3, og iPad2 er markant hurtigere end iPad.

Android tager sig af langt de fleste forskelle i de forskellige telefoner, uden at du behøver håndtere det, medmindre du har specielle optimeringer du ønsker at gøre ved små skærme.

Udfordringen ved Android ligger i, at folk i langt større grad forventer at kunne få gratis eller reklamefinasierede apps.
På dette punkt har iOS udviklere en klar fordel.

  • 0
  • 0
Kåre Kjelstrøm

Apples kontrol med både hardware og software er en kæmpe fordel ikke både for Apple selv, men også for udviklerne der har langt færre platformspecifikke særheder at forholde sig til.

Jeg morede mig på et tidspunkt med at skrive en lille applikation der udnyttede lysmåleren i Android telefonen til at give en indikation om hvor godt lyset var til at læse ved lige nu. API'et til dette er simpelt og giver en talværdi, der repræsenterer "ambient light level in SI lux units" (http://developer.android.com/reference/android/hardware/SensorEvent.html...). MEN og det er et stort MEN. Der var gigantiske forskelle på de faktiske værdier min HTC Desire og min Sony Ericsson X10 Mini Pro spyttede ud ved samme lys: Ikke nok med at de to telefoner var uenige i tallene, de var også uenige i skalerne.

Og så bliver det svært for de forskellige hardware leverandører vil jo have forskellige målere indbygget fra forskellige leverandører og åbenbart også tolke forskelligt på værdierne. Summa summarum ville en sådan lys-måler-app kræve rigtig mange forskellige fysiske test-enheder, noget der ikke er realistisk for ret mange udviklere.

  • 0
  • 0
Kåre Kjelstrøm

I de apps jeg har lavet til iOS har jeg primært benyttet mig at Interface Builder til at lave grænsefladen og så holdt antallet af dynamiske elementer på et minimum. Man kan dog ikke helt undgå det og her synes jeg egentlig ikke det var meget anderledes at gå til end på Android.

  • 0
  • 0
Carsten Sonne

Apples kontrol med både hardware og software er en kæmpe fordel ikke både for Apple selv, men også for udviklerne der har langt færre platformspecifikke særheder at forholde sig til.

Jo stærkere kontrol, jo bedre. I hvert fald så længe kunderne kan acceptere den indskrænkende frihed. En mere nærværende udfordring for Android, er de mange forskellige skærmopløsninger og -størrelser. En udfordring, der kun bliver større med fremkomsten af tablets.

Uagtet hvad man syntes om stramme rammer, så kommer de ikke uden en pris. Man behøver ikke meget fantasi for at kunne se ligheder med andre af hverdagen og samfundets aspekter.

  • 0
  • 0
Palle Simonsen

@Nikolaj
Trolling - prøv selv at lave nogle apps og kom så tilbage.
@Per
Korrekt - men hvis du laver noget af værdi, vil folk gerne betale.
@Kåre
Apples kontrol skræmmer også en del personer væk. Som det er nu taber apple markedsandel og er derfor mindre interessant end for f.eks. to år siden. Og ja, man kan godt finde forskelle, men som (semi) professionel udvikler undgår man disse eller abstrahere dem istedet for at dyrke 'hullerne i osten'.

  • 0
  • 0
Nikolaj Brinch Jørgensen

Palle, det er simpelthen for lavt at kalde det trolling. Man fristes til at tro, at du ikke ved hvad ordet betyder? Eller også er du ikke modtagelig over for fakta?

Læs nu hvad Kåre skriver om lysmåling og hvad Carsten skriver om skærmstørrelser. Det er netop nogle af de ting som volder store problemer. Skærmstørrelser og sensorer. Det er ingen hemmelighed og de fleste som er i stand til at se nogenlunde objektivt på sagen (ikke dig, men f.eks. Kåre) erkender dette.

Det kræver ikke at man laver apps for at kunne forstå dette, det kræver sådan set bare at man har erfaring med at lave software. Det er altid nemmere at udvikle til een platform (os + hardware) end at understøtte mange. Android er en Leaky Abstraction og sådan er det, med udbredelsen af 300+ devices giver det sig selv.

Hvis du har erfaring med mobiludvikling, så kan jeg fortælle dig at J2ME udvikling lider af samme problem. Selv på samme mobiltelefonmodel fra samme leverandør, da der selv på firmware versions niveau er fragmentation.

/Nikolaj

  • 0
  • 0
Jakob Damkjær

ang markedes andel så prøv at se den de her samlede kurver over salg, profit, andel af smartphones og andel af mobiltelefoner generelt.

http://www.asymco.com/2011/05/26/a-new-mobile-phone-market-index/

og i stor variant
http://www.asymco.com/wp-content/uploads/2011/05/Screen-shot-2011-05-26-...

Vær især opmærksom på skalaerne på graferne med hvad mere er så trenden.

Specielt de der røde linjer der skaber bunden for to meget store firmaer og et par der har en nul søgende tendens...

Food for thought for det der ser lige umidelbar ikke ud som et sundt økosystem.

/Jakob

  • 0
  • 0
Casper Bang

Med al respekt for de 15min, så synes jeg du kommer lidt nemt rundt om et par ting.

Det er ikke korrekt at der er emulator til iOS, det er derimod en simulator. En simulator er hurtigere da den "bare" skal simulere applikationslaget. Android bruger en emulator baseret på QEMU, det betyder at det er selve hardwaren der bliver emuleret hvorfor du, modsat iPhone, sidder med et miljø der er 99% som en rigtig smartphone. Se evt. nogle af de ting du kan teste [http://developer.android.com/guide/developing/tools/
emulator.html#console].

Ligeledes, i iOS skriver man til én speciel opløsning hvilket er nemt men meget lidt fleksibelt. Apple står jo p.t. i den situation at de kun kan gå op og ned i opløsninger der er multiple af 480x320 (iPhone4 er med sine 960x640 således x2). Dét problem valgte Google simpelthen at takle i opløbet, hvilket man lige skal have i mente. Apple's løsning på dette har vi stadig til gode at se, men det bliver næppe elegant (en programversion til hver opløsning?!).

Mht. hvad der er "markant nemmere at gå til" så kommer det vist i høj grad an på hvem man er og hvad man skal lave. Jeg tillader mig også at stille spørgsmål ved din konklusion her, eftersom 1) man skal have en Mac (Android udvikling kan også foregå på Windows og Linux) og 2) XCode's refactoring/debugging/code-completion er en joke og 3) Obj-C er et superset af C, men et subset af Java (f.eks. skal man selv holde styr på memory i Obj-C).

  • 0
  • 0
Jens Bech

Hvad foretrækker folk? Min (kones) nevø var ikke i tvivl. Da han havde set min nye iPod (4) Touch 32 GB til 2100 kr., så han muligheden for at ønske sig 8 GB modellen til 1500-kr.
Nogle devices som vist ikke har sin mage indenfor Android? Og som nærmest har dumoing-priser. Du får det hele minus telefon. men du får WiFi og "SKYPE!!" med 2 kameraer som kan vise begge sider af din tilværelse.;)
Den helstøbthed sådan et device kan opvise er mageløst! Jeg optager video, jeg redigerer det på devicet i "iMovie" med tekster og musik og jeg distribuerer den færdige film til Youtube eller min Mac.´´
Jeg ser cover og hører niusikken. jeg komprimerer den i AAC HE audio således at et nummer kan presses ned til 800 KIOLBYTE!
Jeg spiller skak, ser Youtube, finder vej med Google maps og får den lokale vejrudsigt. det hele virker!!! perfekt!!! + ser TV news.
Når version 5 kommer til september, kommer du "måske" til at foretrække iOS!;-)))

Jens

  • 0
  • 0
Venligst Slet Min Bruger

Haha ja, Casper, den sad jeg også lige og lurede over. Det er godt nok et af de mest farvede indlæg, jeg har set herinde i meget lang tid.

Nå, tilbage til app-udvikling.

Jeg er med på, at WP7 ikke er ret udbredt herhjemme - men er der nogen herinde, der har erfaring med udvikling af apps til denne platform? Så vidt jeg kan forstå, så kan man benytte sig af enten XNA eller Silverlight, og det må vel alt andet lige være nemmere med managed code end med Objective C?

  • 0
  • 0
Kåre Kjelstrøm

Jeg kan ikke se dit navn på deltagerlisten, så jeg vil tillade mig at antage at du ikke var til mobilkonferenen og derfor heller ikke hørte mit indlæg?

Uanset var min mission med oplægget ikke at plædere for den ene eller den anden platform, men netop at fremhæve fordele og ulemper. Det er klart at en model hvor leverandøren har styr over hardware og software og hvor der er markant færre udfaldsrum vil være lettere at gå til for applikationsudviklere. Det er også klart at man i den model som platformsleverandør mister en masse fleksibilitet i den videre udvikling af platformen.

Men selvom Androids model er mere fleksibel, har man som udvikler bare temmeligt meget at forholde sig til: 4 forskellige generaliserede skærmstørrelser (small, normal, large, x-large) og 4 forskellige density varianter (ldpi, mdpi, hdpi og xhdpi). Man kan så levere ressourcer i forskellige opløsninger til de forskellige skærmstørrelser og density settings, bevares, men det er stadigvæk meget mere arbejde at sikre sig at applikationer ser godt ud på tværs af enheder. Der er en verden til forskel fx. på en Sony Ericsson X10 mini og en Motorola Xoom.

For så vidt angår Objective-C og XCodes debugging / refactoring muligheder overfor dem vi kender fra Java verdenen er jeg som blogindlægget også ret tydeligt skriver enig i at der er nogen vej igen for Apple. Jeg bliver personligt næppe fan af Objective-C, eksplicit memory håndtering mm. men min erfaring er alligevel at det er noget hurtigere at lave en prototype med platformen formodentlig pga. Interface Builderen der bare er nemmere at gå til end den ynkværdige variant man finder i Eclipse. Her er det faktisk muligt for en programmør at lave et UI der ikke ligner noget der er kastet ind med en kulskovl.

At man skal have en Mac er helt klart en skummel strategi og det er selvfølgelig nøgternt set noget skrammel.

  • 0
  • 0
Casper Bang

@Kåre: Nej jeg deltog ikke, men antog (fejlagtigt?) at dit blog-indlæg var en repræsentativ synopsis.

SDK
Apple's XCode er måske nok gratis, men vil du kunne deploye applikationer til rigtig hardware så koster det 99$ om året i abonnement. Omvendt koster det ikke noget at skrive programmer til din Android enhed, men vil du sælge på Google's marked, koster det er one-time registreringsafgift på $25.

UI/UX
Det er indiskutabelt at det er nemmere bare at placere ting på pixel-niveau (XCode Interface Builder), sådan fungerede Visual Basic 6 også! Det svarer også til at lave en hjemmeside der ser godt ud i én bestemt opløsning - og det tror jeg de fleste af os her i 2011 er klar over ikke holder på sigt! Det er formeentlig også den primære årsag til at Apple TV, modsat Google TV, ikke har apps.

Platformseksplosionen
Hvis du kun gider én bestemt opløsning og/eller Android version, så står det dig frit for kun at skrive til denne via begrænsende meta-data i dit manifest - nøjagtig ligesom på iOS. iOS enheder er jo også forskellige (iPod Touch har ikke GPRS, iPhone3G har ikke kompas, iPhone3GS har ikke gyroskop, ikke alle iPad's har GPS osv.). Android platformen behøver med andre ord ikke være mere besværligt end iOS, blot fordi man kan ramme en masse alternative enheder.

Når dét er sagt, er min hensigt absolut ikke at kaste med tomater. :) Men det kunne jo være der var andre end jeg der læser dette som ej heller var tilstede, og som ligeledes vil argumentere for at dit skriftlige oplæg umiddelbart falder lidt uretfærdigt ud til iOS's fordel, med ord som "markant nemmere" (og nu også "kulskovl") samt nogle relativ gennemgribende simplificeringer der mangler lidt teknisk dybde.

  • 1
  • 0
Kåre Kjelstrøm

Det var en synopsis, men blogindlægget her er ikke et udtømmende resumé af alt hvad er blev sagt.

Platformseksplosionen
Det er helt rigtigt at man kan begrænse sig som man vil, men en applikation der har bred appel - som f.eks. vejrudsigten fra DMI - vil blive installeret på en bred vifte af Androidenheder lige fra Sony Ericssons X10 Mini Pro med 320x240 pixels skærm til en Motorola Xoom med 1280x800 pixels ligesom den vil blive udsat for alle varianter af Android fra 1.5 til 3.0. Med andre ord vil man for at komme bredt ud blive nødt til at forholde sig til vidt forskellige enheder. Det koster - og her taler jeg af bitter erfaring - tid. At skære ned på antallet af OS versioner eller enheder man vil supportere er ikke en option for den type applikationer: det giver sure brugere og lav rating på Market.

Min intention med blogindlægget har ikke været at kaste mudder på hverken Android eller iOS, men at vurdere de to platforme ud fra et udviklerperspektiv. Og her er min - i øvrigt helt subjektive - vurdering stadig at det er lettere at få lavet en iOS applikation, der virker på alle tilgængelige enheder og som ser nogenlunde fornuftig ud.

Hvis du har kendskab til et UI design værktøj til Android, der gør det let at lave en lækker brugergrænseflade hører jeg meget gerne om det. Til gengæld er jeg meget lidt begejstret for Objective-C og foretrækker til enhver tid Java.

Endelig er det her et blogindlæg og ikke en udviklerhåndbog, så det er behersket hvor dybt teknisk det bør være.

  • 0
  • 0
Casper Bang

Hvis du har kendskab til et UI design værktøj til Android, der gør det let at lave en lækker brugergrænseflade hører jeg meget gerne om det

Til designere der ikke kan programmere og bare vil lave vejrudsigter, er Google App Inventor interesant:
http://appinventor.googlelabs.com/about/

Ellers så sker der også ting og sager med Eclipse pluginen i disse dage:
http://www.google.com/events/io/2011/sessions/android-development-tools....

  • 0
  • 0
Kåre Kjelstrøm

AppInventor er næppe noget seriøst bud på et ordentligt værktøj til programmører, der ønsker at lave en brugergrænseflade, som ser ordentlig ud. Jeg skal undlade at forholde mig til hvad designere mener om sagen.

Eclipse pluginen er helt sikkert blevet bedre med den nye version, men igen: den lader meget tilbage at ønske.

  • 0
  • 0
Kim Dalsgaard

Obj-C er et superset af C, men et subset af Java (f.eks. skal man selv holde styr på memory i Obj-C).

Det er korrekt at Objective-C er et superset af C, men det er også et superset af C++ - hvilket bringer det tættere på at være et superset af Java end omvendt!

Objective-C's runtime har en udemærket GC - den er bare ikke aktiveret under iOS

  • 0
  • 0
Jens Bech

Sådan lød emnet.
Det lægger op til at programmører vælger deres fremtidige karriere.
De vælger mellem de to platforme.
Så tråden handler også om valget mellem platforme.
Mit indlæg siger:"Du skal vælge iOS, for der ligger det bedste valg for dig!", Skal man tro det folk gerne vil eje. P.T. "iPad2"
Fremtiden udformes af kunderne til de to platforme. Det kunderne vælger, bør du selv vælge hvis du er klog.

Indenfor styresystemer har Windows 85%, Mac OS 15% og Linux mindre end 1%
Linux er open source, Android er et derivat heraf.
Man kan direkte drage sammenligning til "devices" og deraf udlede hvor meget Android kommer til at fylde i forhold til iOS.
Et Windows-derivat på devices frembragt af fussionen mellem MS og Nokia kunne være den store "Sorteper" i det fremtidige spil.
En sorteper som slet ikke bliver taget med i trådens betragtninger-;-)

  • 0
  • 0
Nikolaj Brinch Jørgensen

Åhh så endte det igen i en kamp mellem dem som er biased iOS og dem som er biased Android (med undtgaelse af Kåres oprindelige indlæg og kommentarer).

Det er lidt ærgeligt at et forsøg på at gøre status på udviklingen på de 2 konkurrenrende platforme igen skal mudres til af Tordenskjolds soldater. Det ville være mere rimeligt om man fokuserede konstruktivt (som Michael Rasmussen med link til et UI værktøj Android), i stedet for at trække debatten hen på den emotionelle Android vs. iOS kamp der har været kæmpet så hårdt.

  • 0
  • 0
Jesper Louis Andersen

Det handler i bund og grund ikke om hvorvidt det er iOS eller Android du satser på. Det handler om at det program du laver er lavet sådan at det kan køre alle steder. Altså at det distribuerer over tablets, mobiltelefoner, PCere og andet.

Som det ser ud nu ville det være dumt at satse anderledes. Det kan falde stort set alle veje og ingen kan afskrives endnu. Heller ikke WP7.

Så mit råd ville være at flytte tilpas meget af applikationen til nettet så du har sprogfrihed, har hardwarekontrol i meget højere grad og ikke bliver bundet så meget op på hvad Apple, Google eller Microsoft nu gør.

Apps er midlertidige og vil forsvinde indenfor et par år. Der er flere Apps i Googles App Store end hvis jeg kigger i min Linuxdistribution (linux har en del års forspring). Det er stof til eftertanke.

Stort set alle de Apps jeg bruger på min telefon er nogen som også virker på min PC og tilgår de samme data (i "skyen").

  • 0
  • 0
Log ind eller Opret konto for at kommentere
IT Company Rank
maximize minimize