Difference between revisions of "Android"

From HaskellWiki
Jump to navigation Jump to search
(→‎Related: Added a link to docker.com)
(Added a link to the Keera Studios blog)
(One intermediate revision by one other user not shown)
Line 13: Line 13:
   
 
If you'd like to go down the path of using the JNI there is a Haskell binding library [https://github.com/neurocyte/foreign-jni foreign-jni]; here is a demonstration of its use: [https://github.com/neurocyte/android-haskell-activity android-haskell-activity].
 
If you'd like to go down the path of using the JNI there is a Haskell binding library [https://github.com/neurocyte/foreign-jni foreign-jni]; here is a demonstration of its use: [https://github.com/neurocyte/android-haskell-activity android-haskell-activity].
 
Another option is, to use Thrift, as described in the blog article [http://mortenib.wordpress.com/2009/10/29/thrift-and-haskell/ Thrift and Haskell]
 
   
 
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.
 
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.
 
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 iphone or android)]
+
* 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 29: 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.

Revision as of 21:43, 18 May 2015

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.

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


Related