Difference between revisions of "Android"
(Added sections "Introduction" and "How to develop Android software in Haskell") |
(→Related: sseefried/debian-stable-ghc-android does not exist) |
||
(16 intermediate revisions by 6 users not shown) | |||
Line 3: | Line 3: | ||
== Introduction == |
== Introduction == |
||
− | Android is an operating for mobile |
+ | Android is an operating system for mobile devices, based on Linux; software development is mainly done in Java. See the [http://en.wikipedia.org/wiki/Android_(operating_system) Wikipedia article] for more information. |
== How to develop Android software in Haskell == |
== How to develop Android software in Haskell == |
||
+ | There are two main approaches to writing Android applications. You can either use |
||
⚫ | |||
+ | the Java Native Interface ([http://en.wikipedia.org/wiki/Java_Native_Interface JNI]) |
||
+ | or the Native Development Kit ([https://developer.android.com/tools/sdk/ndk/index.html NDK]). |
||
⚫ | |||
+ | An extension on the android-haskell-activity which includes a full cross platform build script and iOS support can be found here [https://github.com/EDeijl/CPHConsoleApp CPHConsoleApp]. |
||
+ | |||
+ | You can also create applications using the NDK. See the [https://github.com/ajhc/demo-android-ndk NativeActivity demo application] using the [http://ajhc.metasepi.org/ Ajhc Haskell compiler] for example. |
||
+ | |||
+ | There has also been some success in compiling GHC as a cross compiler. See below. |
||
== Discussions == |
== Discussions == |
||
* StackOverflow: [http://stackoverflow.com/questions/5151858/running-a-haskell-program-on-the-android-os Running a Haskell program on the Android OS] |
* StackOverflow: [http://stackoverflow.com/questions/5151858/running-a-haskell-program-on-the-android-os Running a Haskell program on the Android OS] |
||
− | * Reddit: [http://www.reddit.com/r/haskell/comments/ful84/haskell_on_android/ Haskell on Android], [http://www.reddit.com/r/haskell_proposals/comments/fdz3y/haskell_bindings_for_android_ndk_apis/ Haskell bindings for Android NDK APIs] and [http://www.reddit.com/r/haskell_proposals/comments/7ihso/an_arm_port_of_ghc_that_works_so_we_can_program/ An ARM port of GHC that works (so we can program the |
+ | * Reddit: [http://www.reddit.com/r/haskell/comments/ful84/haskell_on_android/ Haskell on Android], [http://www.reddit.com/r/haskell_proposals/comments/fdz3y/haskell_bindings_for_android_ndk_apis/ Haskell bindings for Android NDK APIs] and [http://www.reddit.com/r/haskell_proposals/comments/7ihso/an_arm_port_of_ghc_that_works_so_we_can_program/ An ARM port of GHC that works (so we can program the iPhone or Android)] |
* Google+ [https://plus.google.com/101555949501667191720/posts/JaFk1HS5oR7 So who else is interested in getting Haskell running on Android?] |
* Google+ [https://plus.google.com/101555949501667191720/posts/JaFk1HS5oR7 So who else is interested in getting Haskell running on Android?] |
||
Line 20: | Line 28: | ||
== Related == |
== Related == |
||
+ | * [http://keera.co.uk/blog/category/haskell-2/ The blog of Keera Studios], a company that develops games in Haskell for Android |
||
* [http://hackage.haskell.org/trac/ghc/wiki/Building/CrossCompiling Cross-compiling GHC] |
* [http://hackage.haskell.org/trac/ghc/wiki/Building/CrossCompiling Cross-compiling GHC] |
||
* [https://github.com/neurocyte/ghc-android ghc-android]; a build script for building ghc cross compilers targeting Android. |
* [https://github.com/neurocyte/ghc-android ghc-android]; a build script for building ghc cross compilers targeting Android. |
||
+ | * [https://github.com/sseefried/docker-build-ghc-android docker-build-ghc-android]; a [https://www.docker.com/ Docker]file to build a GHC 7.8.3 cross compiler targeting Android on Debian Wheezy. Based heavily on [https://github.com/neurocyte/ghc-android ghc-android]. You can also just <code>docker pull [https://hub.docker.com/r/sseefried/debian-wheezy-ghc-android/ sseefried/debian-wheezy-ghc-android]</code> from the Docker Hub. |
||
+ | * [https://github.com/conscell/hugs-android hugs-android]; a port of HUGS Haskell interpreter to Android. |
||
* [[ARM]] |
* [[ARM]] |
||
* [https://ghcarm.wordpress.com/ GHC on ARM] |
* [https://ghcarm.wordpress.com/ GHC on ARM] |
Latest revision as of 06:02, 17 September 2016
This article is a stub. You can help by expanding it.
Introduction
Android is an operating system for mobile devices, based on Linux; software development is mainly done in Java. See the Wikipedia article for more information.
How to develop Android software in Haskell
There are two main approaches to writing Android applications. You can either use the Java Native Interface (JNI) or the Native Development Kit (NDK).
If you'd like to go down the path of using the JNI there is a Haskell binding library foreign-jni; here is a demonstration of its use: android-haskell-activity. An extension on the android-haskell-activity which includes a full cross platform build script and iOS support can be found here CPHConsoleApp.
You can also create applications using the NDK. See the NativeActivity demo application using the Ajhc Haskell compiler for example.
There has also been some success in compiling GHC as a cross compiler. See below.
Discussions
- StackOverflow: Running a Haskell program on the Android OS
- Reddit: Haskell on Android, Haskell bindings for Android NDK APIs and An ARM port of GHC that works (so we can program the iPhone or Android)
- Google+ So who else is interested in getting Haskell running on Android?
Related
- The blog of Keera Studios, a company that develops games in Haskell for Android
- Cross-compiling GHC
- ghc-android; a build script for building ghc cross compilers targeting Android.
- docker-build-ghc-android; a Dockerfile to build a GHC 7.8.3 cross compiler targeting Android on Debian Wheezy. Based heavily on ghc-android. You can also just
docker pull sseefried/debian-wheezy-ghc-android
from the Docker Hub. - hugs-android; a port of HUGS Haskell interpreter to Android.
- ARM
- GHC on ARM
- iPhone