Det är en bra anledning till att apputvecklare ofta lägger iOS-versionen av sin app först - App Store var först på scenen och är fortfarande enormt populär, men de andra plattformarna bör inte ignoreras. Android-appindustrin förutspådde att den skulle få tag i försäljningen av iOS-program 2017. En framgångsrik Android-app på Google Play kan vara lika lönsam som en iOS-app i App Store.
Applikationernas popularitet på både iOS- och Android-enheter gör plattformsutveckling ett viktigt övervägande. Möjligheten att koda en gång och bygga överallt sparar mycket tid även om du bara planerar att utveckla för iOS och Android. När du lägger till Windows, Mac och andra plattformar i mixen kan det vara en extrem tidsbesparare. Men plattformsutveckling kommer med ett tillvägagångssätt. Du är ofta låst i en verktygslåda från tredje part, vilket kan begränsa vad du kan göra med en app, till exempel att du inte kan använda de senaste funktionerna i ett operativsystem tills din verktygslåda stöder dem.
Här är ett urval verktygslådor som gör att du kan göra plattformsutveckling.
Corona SDK
Corona Labs populära Corona-plattformsutvecklingspaket (SDK) stödjer Windows och Mac-datorer och är ett utmärkt sätt att utveckla iOS- och Android-appar. Med Corona SDK skapar du ett projekt en gång och publicerar det på flera enheter, inklusive datorer, smartphones, surfplattor och smarta TV.
Corona SDK riktar sig främst till 2D-spel, men det har också vissa produktivitetsanvändningar. Vissa utvecklare har lyckats med att utveckla nongaming-appar med Corona SDK. Plattformen använder LUA som ett språk, vilket gör kodning snabbare än att använda de olika smakerna av C som flyter runt, och det har redan en grafikmotor inbyggd i den.
Det bästa är att Corona SDK är gratis för nybörjare och hobbyister. Allvarliga skapare och proffs betalar en månadsavgift. Du kan ladda ner och börja omedelbart utveckla både spel och produktivitetsprogram. Det är inte bra om du behöver mycket textinmatning från användaren, men den är solid för de flesta andra produktivitetsanvändningar och enastående för 2D-grafik.
Primäranvändning: 2D-spel, produktivitet
Fortsätt läsa nedan
Enhet
Corona SDK är bra på 2D-grafik, men om du behöver gå 3D behöver du enhet. Om du planerar att gå 3D i framtiden kan Unity vara det bästa valet, även om ditt nuvarande projekt är ett 2D-spel. Det är alltid en bra idé att bygga upp ett kodförråd för att påskynda framtida produktion.
Enhetsspel kan ta längre tid att utvecklas, men Unity stöder nästan alla plattformar där ute, inklusive konsoler och webbspel, som stöds av WebGL-motorn.
Utgåvan 2018 av Unity lagt till mallar för att komma igång på olika typer av projekt, inklusive 2D och 3D-spel. Andra mallalternativ inkluderar en VR-mall och High-End och Lightweight-mallar. Den nya Scriptable Render Pipeline (SRP) innebär att utvecklare och tekniska artister kan komma igång i Unity utan att behöva behärska C ++. Istället använder SRP C # och material shaders.
Primär användning: 3D-spel
Fortsätt läsa nedan
Cocos2d
Som namnet antyder är Cocos2D ett ramverk för att bygga 2D-spel. Men till skillnad från Corona SDK är Cocos 2D inte exakt en kod-en-gång, kompilera-överallt lösning. Det är snarare ett bibliotek som kan sättas in i olika plattformar som gör själva koden samma eller liknande. Det här gör mycket av den tunga lyftningen när du skickar ett spel från en plattform till nästa, men det kräver fortfarande mer arbete än Corona. Bonusen är emellertid att resultatet kodas på modersmålet, vilket ger dig fullständig tillgång till alla enhetens API: er utan att vänta på att en tredje part ska inkludera dem.
Olika versioner av Cocos2D är tillgängliga för C ++, JavaScript, C #, Xcode och Objective C och Python.
Primär användning: 2D-spel
PhoneGap
PhoneGap levererar HTML 5 för att utveckla applikationer på flera plattformar. Grundarkitekturen för denna plattform är en HTML 5-app som körs inom en WebView på den inbyggda plattformen. Du kan tänka på detta som en webapp som körs i en webbläsare på enheten, men istället för att en webserver ska vara värd för appen, fungerar enheten som server.
Som du kan tänka dig, kommer PhoneGap inte att tävla bra mot Unity, Corona SDK eller Cocos när det gäller spel, men det kan enkelt överstiga dessa plattformar för företag, produktivitet och företags kodning. HTML 5-basen innebär att ett företag kan utveckla en intern webbapp och trycka den på enheter.
PhoneGap-utvecklare drar nytta av ett robust plugin-bibliotek som utökar förmågan hos mobilappar på plattformen.
PhoneGap samverkar också bra med Sencha, vilket är en plattform för att bygga webbapplikationer.
Primär användning: Produktivitet och Business
Fortsätt läsa nedan
Och mer…
Corona SDK, Unity, Cocos och PhoneGap representerar några av de mest populära plattformsutvecklingspaketen, men det finns många andra alternativ. Några av dessa är inte lika robusta, kräver mer tid från kod till faktisk byggnad, eller är dyra, men de kan bara vara rätt för dina behov.
- QT: Ett bra val för företags- och produktivitetsprogram, QT har funnits ett tag i olika former. Den senaste byggnaden lägger mycket poler runt en annars solid plattform.
- Xamarin: Ett annat bra val för nongaming-lösningar, Xamarin använder C # som ett programmeringsspråk.Xamarin specialiserar sig på att använda inbyggda användargränssnitt, så att appar ser ut som de är utformade för varje enskild enhet.
- Marmelad: Först och främst en spelplattform, Marmalade har både ett C-verktyg och Marmalade Quick, ett LUA-verktyg. Det är praktiskt att återställa iOS-spel till Android.
- Appcelerator: Om du föredrar att bygga med JavaScript kan Appcelerator vara ditt verktyg. Det är inte en perfekt kod-en-build-everywhere-lösning - du har fortfarande jobb att bygga för specifika enheter - men det hävdar att du kan utveckla för varje enhet utan hybridkompromisser.