Mobile app development: Difference between revisions

Content deleted Content added
Jnharton (talk | contribs)
rewrote the first paragraph in an attempt to improve the language and flow
Jnharton (talk | contribs)
Platform: rewrote the short description of Platform, broke the table into three tables (1st party, 2nd party, 3rd party).
Line 18:
 
==Platform==
The platformsoftware organizationsdevelopment packages needed to develop, deploy, and manage [[mobile app]]s are made from many components and tools which allow a developer to write, test, and deploy applications intofor theone targetor platformmore target environmentplatforms.
 
=== Front-end development tools ===
Line 29:
 
Notable tools are listed below.
 
==== First-Party ====
 
First party tools include official [[software development kit|SDK]]s published by, or on behalf of, the company responsible for the
design of a particular hardware platform (e.g. Apple, Google, etc) as well as any third-party software that is officially supported for the purpose of developing mobile apps for that hardware.
 
{| class="wikitable sortable" style="font-size:90%"
! [[Computing platform|Platform]]
! [[Programming language]]
! [[Debuggers]] available
! [[List of emulators|Emulator]] available
! [[Integrated development environment]] available
! Cross-platform deployment
! Installer packaging options
! Development tool cost
|-
! [[Android (operating system)|Android]]
| [[Java (programming language)|Java]] but portions of code can be in [[C (programming language)|C]], [[C++]],
[[Kotlin (programming language)|Kotlin]]
| Debugger integrated in Eclipse, standalone debugging monitor available
| {{Yes}}
| [[Eclipse (software)|Eclipse]], [[IntelliJ IDEA]], [[Android Studio]], Project Kenai Android plugin for NetBeans
| Android only, because of Dalvik VM, March 2009
| apk
| Free, [[IntelliJ IDEA]] Community Edition - Free
|-
! [[BlackBerry]]
| [[Java (programming language)|Java]]
| Debugger integrated in IDE
| {{Yes}}
| [[Eclipse (software)|Eclipse]], BlackBerry JDE
| BlackBerry only, because of RIM API
| alx, cod
| Free
|-
! [[iOS SDK]]
| [[Objective-C]], [[Swift (programming language)|Swift]]
| Debugger integrated in Xcode IDE
| Bundled with iPhone SDK, integrated with Xcode IDE
| [[Xcode]], [[AppCode]]
| [[iPhone]], [[iPad]], [[iPod Touch]]
| Only via [[App Store (iOS)|App Store]], needs review and approval by [[Apple Inc.]]
| Apple tools are free for an [[Intel]]-based [[Macintosh|Mac]]. Simulator testing is free, but installing on a device needs a fee for a developer signing key. AppCode - commercial licenses available.
 
Since 2015, Apple allows installing the app in your own device without a developer paid membership.<ref>{{Cite web|url=https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/LaunchingYourApponDevices/LaunchingYourApponDevices.html|title=Launching Your App on Devices|website=developer.apple.com|access-date=2016-04-30}}</ref>
|-
! [[iOS SDK]]
| [[Object Pascal]]
| Debugger integrated in Xcode IDE
| Included in Delphi XE2 professional or higher
| [[Delphi (programming language)|Embarcadero Delphi XE2]]
| [[iPhone]], [[iPad]], [[iPod Touch]]
| Only via [[App Store (iOS)|App Store]], needs review and approval by [[Apple Inc.]]
| Development requires [[Intel]]-based [[Macintosh|Mac]] besides the IDE on Windows. Design is on Windows, Compiling and deploying must be done on Mac. Simulator testing is free, but installing on a device needs a fee for a developer signing key
|}
 
==== Second Party ====
 
{| class="wikitable sortable" style="font-size:90%"
! [[Computing platform|Platform]]
! [[Programming language]]
! [[Debuggers]] available
! [[List of emulators|Emulator]] available
! [[Integrated development environment]] available
! Cross-platform deployment
! Installer packaging options
! Development tool cost
|-
! [[Java ME]]
| [[Java (programming language)|Java]]
| {{Yes}}
| Free emulator, Sun Java Wireless Toolkit, [[mpowerplayer]]
| [[Eclipse (software)|Eclipse]], LMA [[NetBeans]] Mobility Pack
| {{Yes}} although many VM implementations have device specific bugs necessitating separate builds
| [[JAD (file format)|Jad]]/[[JAR (file format)|Jar]] packaging; PRC files under Palm OS
| Free
|}
 
==== Third Party ====
 
{| class="wikitable sortable" style="font-size:90%"
Line 57 ⟶ 136:
| The native distribution for each format
| Free
|-
! [[Android (operating system)|Android]]
| [[Java (programming language)|Java]] but portions of code can be in [[C (programming language)|C]], [[C++]],
[[Kotlin (programming language)|Kotlin]]
| Debugger integrated in Eclipse, standalone debugging monitor available
| {{Yes}}
| [[Eclipse (software)|Eclipse]], [[IntelliJ IDEA]], [[Android Studio]], Project Kenai Android plugin for NetBeans
| Android only, because of Dalvik VM, March 2009
| apk
| Free, [[IntelliJ IDEA]] Community Edition - Free
|-
! [[App Inventor for Android]]
Line 94 ⟶ 163:
| The native distribution format of each platform
| Commercial licenses available
|-
! [[BlackBerry]]
| [[Java (programming language)|Java]]
| Debugger integrated in IDE
| {{Yes}}
| [[Eclipse (software)|Eclipse]], BlackBerry JDE
| BlackBerry only, because of RIM API
| alx, cod
| Free
|-
! [[Codename One]]
Line 148 ⟶ 208:
| The native distribution format of each platform
| Developer edition free via Eclipse Marketplace, commercial license for deployment
|-
! [[iOS SDK]]
| [[Objective-C]], [[Swift (programming language)|Swift]]
| Debugger integrated in Xcode IDE
| Bundled with iPhone SDK, integrated with Xcode IDE
| [[Xcode]], [[AppCode]]
| [[iPhone]], [[iPad]], [[iPod Touch]]
| Only via [[App Store (iOS)|App Store]], needs review and approval by [[Apple Inc.]]
| Apple tools are free for an [[Intel]]-based [[Macintosh|Mac]]. Simulator testing is free, but installing on a device needs a fee for a developer signing key. AppCode - commercial licenses available.
 
Since 2015, Apple allows installing the app in your own device without a developer paid membership.<ref>{{Cite web|url=https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/LaunchingYourApponDevices/LaunchingYourApponDevices.html|title=Launching Your App on Devices|website=developer.apple.com|access-date=2016-04-30}}</ref>
|-
! [[iOS SDK]]
| [[Object Pascal]]
| Debugger integrated in Xcode IDE
| Included in Delphi XE2 professional or higher
| [[Delphi (programming language)|Embarcadero Delphi XE2]]
| [[iPhone]], [[iPad]], [[iPod Touch]]
| Only via [[App Store (iOS)|App Store]], needs review and approval by [[Apple Inc.]]
| Development requires [[Intel]]-based [[Macintosh|Mac]] besides the IDE on Windows. Design is on Windows, Compiling and deploying must be done on Mac. Simulator testing is free, but installing on a device needs a fee for a developer signing key
|-
! [[Java ME]]
| [[Java (programming language)|Java]]
| {{Yes}}
| Free emulator, Sun Java Wireless Toolkit, [[mpowerplayer]]
| [[Eclipse (software)|Eclipse]], LMA [[NetBeans]] Mobility Pack
| {{Yes}} although many VM implementations have device specific bugs necessitating separate builds
| [[JAD (file format)|Jad]]/[[JAR (file format)|Jar]] packaging; PRC files under Palm OS
| Free
|-
! [[Lazarus (software)|Lazarus]]