lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hi Matt,

Thank you for the kind answer.

I found many interesting frameworks.. one of those is phonegap.

I am doing just my personnel project. So let me just start with orbit on linux.
And later some time if needed I think I can find ways to apply this
into android and possibly ios.

Thank you.. The urls you pointed out, I guess I will look up later sometime..

Thank you.
Journeyer
----------------------------------------
Journeyer J. Joh
o o s a p r o g r a m m e r
a t
g m a i l  d o t  c o m
----------------------------------------


2015-12-03 22:35 GMT+09:00  <matthew@bluedino.net>:
> At LogicNets, we have a fairly large Lua application which we have ported to
> run on both iOS and Android in a fashion similar to what you have described.
>
> 1. For details on getting Lua to run on iOS, take a look at my iLua project
> (https://github.com/profburke/ilua). It's a little bit of a work in
> progress, but it should get you pointed in the right direction.
>
> 2. For Android, doing it from scratch isn't too bad, but you'll almost
> certainly instead want to use something like LuaJava
> (https://github.com/jasonsantos/luajava), AndroLua
> (https://github.com/mkottman/AndroLua), or LuaJ
> (http://www.luaj.org/luaj.html). For our application, we used LuaJava
> (although we had to do some customization---for reasons not worth discussing
> here, we are still using Lua 4). Note that we did the Android port almost a
> year ago when Eclipse was still more or less the preferred IDE for doing
> Android work.
>
> These days you should consider Android Studio instead. However, although in
> theory it supports the native development kit (NDK---the ability to compile
> C code, which you will need), my initial (limited) attempt at getting it to
> work was unsuccessful.
>
> I'll just throw out that there are a few alternatives for doing
> cross-platform Lua. For example, Corona (https://coronalabs.com/) which you
> might also want to look at.
>
> 3. An important note about application architecture: for both platforms
> (Android and iOS), we have a native app that works as follows:
>
> 1. Does some initial setup and configuration
> 2. Starts a background thread has a Lua VM. This VM runs a simple web server
> we've written in Lua.
> 3. On the main thread presents a webview component (WKWebView on iOS,
> android.webkit.WebView on Android). This webview is told to load a URL from
> localhost.
>
> Android
> -------
>
> On Android it is possible to do something like what you suggest: run your
> application in the background and have the user use a browser to interact
> with it.
> When your app launches it could create and run a service
> (android.app.Service) and not present any sort of UI.
>
> I don't think you want to go that route. I think it's too awkward and
> confusing for the user. If you instead use an approach like we took, you
> will present the user a more unified experience which she has better control
> of.
>
> iOS
> ---
>
> On iOS you can't take the approach you described. You have to do something
> like we did because you can't have long-running background apps. Yes, I know
> all about foreground and background apps on iOS. But none of the mechanisms
> you can use for doing background processing will allow you to run a web
> server that doesn't get terminated pretty quickly. Note that running an app
> in the background is not the same as having a background thread running in
> your foreground app (I'm tired and not explaining this well).
>
>
>
> Anyway, let me know if you have more questions.
>
> Regards,
>
> Matt
>
>
>
> --
> Matthew M. Burke
> matthew@bluedino.net
> 703-955-6071
>
>