Android-like Smartphone Platform that Uses Python - android

I came from solid C++ background, then hop to Java EE (JSF development), .NET and now I am developing in Django + Python for web and Ubuntu app and recently I tried playing around with Android SDK.
I have to say out of those languages, Python is the most productive one for me. And that makes me wonder..is there any mobile platform that uses Python exclusively as much as Android using Java?
I know that iOS uses Objective-C and well...Windows Phone uses .NET..
(This is NOT a language versus discussion).

Symbian uses Python and Java ME, but no smartphone uses Symbian.
Though as iNan said, you can use python and/or C++ on Android.

If Jython satisfies you, I heard this may be usefull: http://code.google.com/p/android-scripting/

Related

Native iOS/android application to Windows Phone

I have an iPhone application (with an android counterpart), developed in Xcode and written in Objective-C. It is a classical native iOS app, already working and uploaded in the App Store. Similarly, the android version is built with Java and linked with the android SDKs. It's uploaded to the market place.
I was asked to port the app to Windows Phone. Is this possible without modifying the code?
I am not familiar with Windows Phone dev, however it looks like that is a completely
separate ecosystem for developing apps (different programming language, different IDE, different app store etc).
Can I go from Android to Windows Phone or from iOS to Windows Phone?
PhoneGap - or similar platforms - are not options since the code is already written in Objective-C and Java.
Like iOS and Android, Windows Phone is a completely different operating system and currently requires a completely different development platform.
It is not possible to take the existing code and make it function on a Windows Phone.
iOS commonly uses Objective-C for application development . Even if there was a way to compile Objective-C onto a Windows Phone, it would be inherently tied to platform features, and UI controls. While you could write some code in C++ and share it, with an iOS application, you'll still need some in Objective-C.
Android applications use Java normally. Java is not available for the Windows Phone platform. So, the language is out. Further, like iOS, the platform features are not necessarily shared and the UI control and behaviors are different. Android applications can use C++ (if you happened to code using it), but it has limitations, and by using it, again, you'd be tying the code to the Android platform potentially. Some code may be portable.
Windows Phone applications are usually written in C#/C++ and XAML or DirectX. While there is some similarity in languages (Java and C#), you'll encounter far more platform differences that could need significant effort to convert. From the way network requests are made to handling threads will be different (and many many more). Objective-C is also very different from C++.
Unless you had used something like Xamarin and written the underlying business logic using a common platform (C#/.NET), you'll need to consider a port to Windows Phone a fresh start.
It's not possible to just reuse all of the code that's been written. With a careful effort, you could share some common code (if it were written in C++), but as the shared code will not directly work with UI (and other platform features), you'd still need to do the UI on each platform, work around limitations, and potentially customize the user experience for each platform.
Microsoft has provided some guidance on porting, and provided some links with an API equivalency table here.
Yes, you can use Microsoft's Windows bridge for iOS to convert your iOS application code to Windows mobile platform code.
You need to use WinObjC SDK provided by Microsoft for this purpose.
Follow this link for more details.
No, you can't, WP apps are build with c# or .net and in visual studio IDE. There is no automated way to port a previously coded ios or android native app built with objetive-c or java to WP.
In my opinion there is no way to directly port a iphone app to windows phone app. You need to develop windows phone app with its needed environment like Visual Studio , windows phone sdk and with windows os.
You can also use cross platform like phonegap if it may fit to your requirement.
It looks like you have an existing Obj-C codebase for iOS, and a Java codebase for Android. No matter how you cut it, you're looking at [re]writing code to get something on WP8.
I don't know how "UI heavy" your app is; in general the UI code is the most platform specific (unless you're willing to put up with "cross platform" stuff that might not have good UX).
You might consider keeping the non-UI code mostly plain C++ and using Obj-C, etc. only for the parts where you have to talk to the framework. It will be easier to support multiple platforms with C++.
I took this approach with an app I'm working on; it's targeted for iOS but it's about 80% C++ (including Open GL). If I decide to port to Android I just need to deal with the 20%, mostly UI-ish code.

Is there any python bindings for android developers?

I am a python learner; would like to develop few applications in Android platform. Is there any Python bindings available for developing Android apps ?
Also I would like to know, Using python binding for development will make any performance overhead compared to java ?
You can use ASE
Google Announce Android Scripting Environment
The ASE allows developers to develop directly on the Android powered
device without the need for a separate computer using Android’s
development environment.
Scripts can be run interactively in a terminal, started as a long
running service, or started via Locale. Python, Lua and BeanShell are
currently supported, and we’re planning to add Ruby and JavaScript
support, as well.
It can be downloaded from here:
http://code.google.com/p/android-scripting
You'll probably want to have a look at the Kivy project.
Wikipedia has a bit to say about it, too.

universal programming language for android, iphone and windows phone

Hey I am going to write an algorithm for my android application.
Now the issue is Its a big algorithm and I might develop applications for iphone and windows phone also. So i wanted to reuse the code every where.
My question is that which language should i write the algo in to reuse the code.
I have done some research it seems android and iphone support C++ but i am confused with windows phone
Does windows phone support C++ language
sounds like C++ will come with WP Apollo.
I would do in C++ and wait to see if there are C++ for WP soon enough.
Otherwise, rewrite that code into C#, pretty quick I think.
Windows Phone 7 doesn't support C++
Windows Phone 8 will support C++
Maybe you should take a look at MonoTouch. It allows you to code in C# and target Windows Phone, iOS and Android.
No, Windows Phone does not support C++ - there is a chance that WP8 will support it, but i din't think that has been made official yet. You have a few options, none of them are ideal!
MonoTouch / MonoDroid
You can use Mono to write your application in C# for iOS and Android, and using the regular C# frameworks for Windows Phone. This does mean you will have to use Mono for your entire application, not just this algorithm.
JavaScript
You could write your algorithm in JavaScript then run it within a suitable browser control within each platform. Ugly, but viable!
WP8 doesn't have full C++ support.
You can't develop and publish to WP8 app store non-direct3D apps just by using it. You HAVE TO/MUST use C# to design your interface, which is XAML and only compatible with C#. This "You can develop apps with C++ for WP8" slogan is just a big marketing lie. And the indication of WP8's failure. Read my answer here for further and the resources:
https://softwareengineering.stackexchange.com/a/177048/3375

Is it possible to develop for the browser, android, and iphone with the core logic written in C++?

With some Googling it appears this is possible in iOS, Android using the NDK, and in a browser using Java Web Start or a Java Applet. I understand the GUI for iOS and Android will have to be done using Objective-C and Java. If this is even possible how practical is it when you start to consider debugging support?
The Objective-C runtime can be accessed through a C api, so it is possible to write code for iOS and Cocoa using pure C++.
For web development, there is nothing that I know of that is currently available that allows you to deploy code written in C++. This is because C++ is usually compiled into native code, which is very difficult to sandbox and which would imply a security hole. In the future, it may be possible to run such code with Native Client. At the moment it is still in development, but it is already partially functional as an experimental extension to Chromium.
For Android, your code must always run in the Dalvik JVM, but you can incorporate C++ that has been compiled into native code by using the Android NDK.
I can't speak for the browser, but I've been doing C++ on iOS for almost a couple years now. Both Fieldrunners and Autodesk Tinkerbox (both of which I work on) are C++. The GUI is also custom C++. There is only a tiny amount of Objective-C so that the C++ code can interface with iOS. The Android version of Fieldrunners also uses the C++ codebase with just a tiny amount of Java, again as glue code.

Android and J2ME

Can anyone please clear my doubt regarding the query that does Android Programming has anything to do with the J2ME?
Does Android Development comes under J2ME Platform as J2ME is used basically for the Mobile Applications and Android is also the same one.
Please let me know if anybody is knowing it.
Android has nothing to do with J2ME beyond using the core Java language. In fact, the standard library is more reminiscent of Java SE.
Like Yann mentioned , j2me is not Android and vice versa, however they use the same language with different VMS. Google basically created their own JVM called DAVLIk which got Sun to sue Google because google used their technology without their approval.
There are however some J2ME to Android wrappers. LWUIT currently has such a wrapper.
in both same language will used which is JAVA.
but j2me is made for small devices which is run on kJVM .,
Android is basically made for smart devices.,
using j2me we can developed Third party app .,but Android is the native app which is fully supported by Android OS.
Also you may want to look at MicroEmulator http://microemu.blogspot.ru/2009/08/converting-javame-applications-to.html, it provides J2ME CLDC/MIDP wrappers for Java SE and Android, so basically you can write a midlet and pack it with MicroEmu to run on Android. But it will limit your app to J2ME UI which is quite weak, no comparison with Android. CodenameOne (former LWUIT mentioned in other answer) is a best choice for a cross-platform solution if you need to cover J2ME, Blackberry, Android, iOS and Windows Phone. But if you do not need to support J2ME and Blackberry, there are other solutions too (Xamarin, Marmelade, PhoneGap)

Categories

Resources