After about two months of Java development for Android, I still don't like the API, so I would like to switch to another framework.
I also want it to be open source, to compile to native packages and, if possible, not dependent on Eclipse.
My OS is Debian GNU/Linux.
I already tried several: PhoneGap (requires Eclipse), Appcelerator Titanium (non-open source license), and Python4Android (not native).
Please try Sencha touch 2. Open source, compatible with phonegap and supports cross platform development.
Have you checked out Mono? Create Android apps in c#/.net but still have access to native api!
monoforandroid
Related
I have a dll based on .NET 2.0 with full source code access.
So I can build it in VS2010.
I need to port this to Android/iOS/MacOS.
As a result I expect some equivalent of dll for each platform.
So another programmer can link (doesn't matter how) this equivalent to his own project at one of that targeted platform.
For example I ran MonoDevelop on Mac and don't see how I can build my .NET project and to receive such equivalent of dll.
So I need help to find solution and understand what to do to receive requierd result.
There are CLI implementations, primarily Mono, that work on both iOS and droid. The simplest tools here are MonoTouch and Mono for Android, both available from Xamarin. With these tools, you can build and test your dll targetting the relevant frameworks. Another programmer, again using the MonoTouch or Mono for Android tools, can reference those dlls, and build their application, with all the tools necessary to package and deploy (side-loading or via, say, the device's store) an application using that library. This deployment will typically also include all the runtime/framework pieces needed by the application.
MonoTouch makes use of the MonoDevelop IDE, so will be familiar to you as a MonoDevelop user. Mono for Android can do that (i.e. be hosted inside MonoDevelop), but can also be used inside Visual Studio.
Running .NET code requires a .NET runtime to be installed. Neither Android nor iOS devices come with such a runtime preinstalled.
In theory, you could install the Mono Runtime (a open-source .NET alternative) on an Android device or a jailbroken iPhone/iPad. However, as I understand it, you're looking for a way to create a library to give developers, so this isn't a good solution.
However, what could work is creating a library with MonoTouch. MonoTouch compiles your .NET code to a binary that iOS devices can use - regardless if they're jailbroken or not, without needing a runtime installed.
If you follow best practices, you might port your library successfully, such as
http://sharpsnmplib.codeplex.com/discussions/390251
However, it purely depends on the characteristics of your library, which you does not mention yet.
Hi I'd like to know how to compile an app source code on an android platform?
I know it's possible because I saw some apps that are doing it...
Thanx ahead!
I think what you are asking for is a way to compile android apps on an android device.
the way an app like this new IDE does.
If so what you would need to do is to take an open source java compiler such as the ejc (the Java compiler used within Eclipse) and use it to compile your java source. You would then need to port the dalvik compiler to be able to run, in order to generate dex from the class files generated by the java compiler.
An interview with he developers of AIDE has a little bit more info on how they did it.
UPDATE:
Actually I just came across an open source project which provides similar functionality but based on using vim and the existing SDK cli tools ported to run on a an android device. The project is hosted here.
UPDATE 2:
I found yet another open source project that also does on device compile/build which I think should provide you with examples of what you are trying to do...
More specifically, if you look in IDE.java, you can see how the individual tools (ejc, dx, aapt) are called/used.
Possible in a number of ways...
There have been apps - proprietary & open source - built for the purpose. I am not sure if these apps will be at least near the production quality. But they work:
It mainly depends on language you are writing - since cross platform app development is also possible on Android.
• Java: Java N-IDE, AIDE
• JavaScript: NativeScript CLI, Appcelerator Titanium CLI, Apache Cordova via CLI. [All these can be installed via node.js package manager (npm) which in turn can be installed via Dory NodeJS, GNURoot Debian or Termux apps..
• Linux CLI utilities can be installed on Android simply with a terminal shell or GNURoot / Termux. You can also Emulate complete PC OS using Limbo PC Emulator / Bochs [Although they should be lightweight]. In theory, by this way you should be able to use almost all Android development utilities. But Storage, memory & performance constraints come to play..
• There are other apps & web services for hobbyists: eg: Sketchware, DroidScript, Appy Pie, Monaca, PhoneGap Build and many others.... But don't expect professional quality apps using them..
Can we able to start an Android project in "Titanium Studio". I am using the free version of this software. If Titanium Studio is good for Android development what are the main points. How to run the application.
Yes, you can start an Android project in the free version of Titanium Studio. You can also start an iOS project.
When you develop in Titanium, your code is in JavaScript and you use special Titanium functions and objects to access the Android or iOS device. Some advantages are that if you know JavaScript you can code for Android and iOS without having to learn Java or objective-C and most of your code will be reusable if you want to later deploy your app on iOS. Some disadvantages are that there are bugs in Titanium that make some functions behave differently in Android and iOS. Also, if smart phones were to add a new device function you won't be able to access it until Titanium added that function. You give up some control for easier multiplatform deployment.
Titanium's Quick Start guide will show you what you need to do to setup your computer for Android and iOS development: http://docs.appcelerator.com/titanium/2.0/#!/guide/Quick_Start
I have developed one simple application in phone-gap-android using eclipse and android SDK.
As phone-gap support multi mobile platform , I want to run this application in iPhone also.
How can i achieve it ?
For each platform you want to get a port, you need to create a project in the dedicated environment and compile application as native one for each.
Your created source should be shared between project.
Then for example :
to port your application to iPhone, you need a mac with installed Xcode, iPhone SDK downloaded and phonegap one installed.
In xcode, create a phonegap project, import your sources, compile it, and it works !
Instructions on how to set up Phonegap for each OS can be found here: http://phonegap.com/start
If you are lucky, major modifications will not be needed between the devices.
An alternative would be to try PhoneGap Build: https://build.phonegap.com/
just wanted to clear a confusion concerning phonegap,
My area of interest is mainly Android and Iphone. What I really understand about phonegap is that the phonegap app is platform independant when no native libs are ysed and thus run both on iphone and android. Thus if i build an android app on eclipse using phonegap without using any native libs, will it run on iphone as well??
Nope, this is not exactly the case.
Phonegap enables you to write cross-platform code (HTML, JS, CSS), but when it comes to building, you have to compile this code to a specific environment for each OS. For example you can build the Android version using eclipse, and the iOS version using Xcode.
Hope this helps!
No, you will still need to build for iPhone as well.
You can use the same source code for all systems.