As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm developing an Android application and I would really like to deploy it for the iPhone as well.
However, I do not know Objective-C and I think it would take an annoyingly long time to figure that and the Apple framework out.
Is there a recommended way to port an Android application to iOS? Would the best bet be to hire a freelancer?
On the run now (home time ;-) ), so my answer will be concise (sorry)
Take a look at/Google (in no particular order):
MoSync <- Compiles C++ native apps to several mobile platforms, including Android and IOS, GPL for non-commercial projects.
AirplaySDK: Similar to MoSync, mainly commercial, has some free licensing for one of the 2 environments you're after (believe that's IOS, please verify yourself). Has been used comercially by Konami, Activision etc.
OpenFrameworks (OF) - Collections of C++ 'wrapper' code which enables unified cross-platform development of Audio/Visual projects (could be used for Games etc). The Android port is beta, see Android/Eclipse/OF Installation and the Android port's GitHub repository/developer (branch 0062_Android). The iPhone-specific code is quite complete (accelerometer access, etc. etc.).
XMLVM - It allows some level of porting from Java to a native IOS executable. Not sure how far forward this project is, and you might need to implement some of their framework classes (relatively trivial if you've got good separation of your existing Java libs).
Personally, I'm looking at OpenFrameworks right now, mainly as I like the 'One API' concept and I'm avoiding Objective-C for the moment (Want to ease myself in, I'm a Java/C# dev).
Edit: Notice that since this answer was written XMLVM development has stopped. Also Codename One came out in the interim and provides a path for Java developers.
Cheers
Rich
Your best bet for X-plat is HTML 5.
You will not be able to automagically port your native code because Android and iPhone use completely different patterns for developing all aspects of "the app".
Right now I've only seen MonoTouch (now Xamarin) available for cross platform development, which allows you to develop in .NET targetting the iPhone.
I have not seen a similar product for Android, but would a .NET based conversion process be feasible? The pricing is not outrageous.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I already know Java, C# and C++. Now I want to start with web development and I saw that some really big sites are built with Python/C++. I like the coding style of Python, it looks really clean, but some other things like no errors before runtime is really strange.
However, I don't know what I should learn now. I started with Python but then I saw that Google App Engine also supports Java and the PlayFramework looks amazing too.
Now I am really confused. Should I go with Python or Java? I found the IDE for Python "PyCharm" really amazing for web development. Does Java have something similar, eclipse maybe?
I know that this question isn't constructive, but it will help me with my decision. What are pro and cons of both languages?
I just want to add, that if it is a requirement for you that it is compatible with GAE, then I think Django is the best choise. Playframework is of version 2.0 no longer compatible with GAE.
PyCharm is an IDE created by JetBrains. Originally, JetBrains only had one product, IntelliJ IDE (a Java IDE), and PyCharm and all the other products were spawned from that one highly successful product.
As for which language, I would suggest trying to do something small (but feature rich enough to be a holistic test) with all 3 and see which one works best for you. Language choice is a massive question, and depends on personal factors, project factors and many other besides. Therefore I won't even begin to tell you which one is best (because it would be what is best for me, in my situation).
It depends on you. What do you want more: learn new programming language or learn how to make web apps?
I just started few PLay tutorials and it's really great. PLay 2 is even more amazing than previous one. I'd like to learn Scala, so it's perfect for me, but also because of that it's not GAE compatible anymore, but come on, there are other ways to deploy apps, I'd like to try OpenShift (dunno if it's possible, I'll try it soon).
I'm also a big fan of Python, so it's naturally that I'm also looking for frameworks to build apps in that. I would say, that Django isn't the only choice. I had few tries with Django, right now I'm trying web2py. As many stated, Django has quite hard learning curve. Web2py should be better, but I don't like the 'wizzard' way of scaffolding apps.
I've used Bottle (Flask is similar) and it's great for small apps. RESTful apps are super-easy with them, so maybe it should be your starting point.
From what I've read about Python's frameworks:
Django is quite good for typical websites/CMS-like, hard to learn
web2py very interesting --- I'm in the middle of testing that, Reddit's using it?
web.py -- minimalistic, lightweight framework, you have to build webapp almost from scratch
Tornado/Twisted --- fast, async frameworks
Flask/Bottle --- very nice microframeworks. Great for REST services
I've not tried them all, but it's what I've found out during reading the web/blogs etc.
I'm looking for something like Play Framework 2.x but in Python(ideally 3) :)
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What's cross-platform for those, flexible, easy to develop and debug, and offers good cross-platform GUI development?
Good support for ODBC database is a plus and support for GIS database is a major plus.
Android does not use the same UI system as desktop Java. There is no common GUI tool amongst them.
As for Windows + Linux, both IntelliJ and NetBeans have a halfway decent Swing UI builder.
As mentioned by Yann, there are no cross-platform RAD system that cover both Android and Linux/Windows Java. Android is not really a Java-based platform; the Android SDK converts the Java bytecode to the more optimized Dalvik VM bytecode. For this reason, you may even find that even non-GUI java code does not "port" (I've run into a couple of such issues).
There exist some libraries that attempt to provide cross-platform access to the graphics layer such as libgdx, but none that will allow you to create "one-size fits all" GUI code easily. In general, though, you wouldn't want to do that either - the UI concepts are very different on a small touch screen and a large mouse-controlled desktop.
From a development point of view, any development environment that comfortably allows you to split the project into an Android project (for the Android stuff), a desktop Java project (for the desktop specific code), and a Java library project for the common functionality (keeping in mind the minor differences) that can be shared between both projects will do.
Currently only Eclipse provides a RAD environment for Android (as far as I know), but there is nothing to prevent you building the Android GUI part in Eclipse (importing the common code as a library) and doing the desktop project in a different environment if you prefer Netbeans or others for that.
Good and reasonably priced rad for android, basic language, native compile is Basic4Android google it, it was released a few weeks ago.
How about http://www.wavemaker.com/
and http://openxava.org/ ?
That comes quite close IMHO
and both are open source.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I want to learn mobile programming, specifically Android or iPhone programming, but not sure if it is necessary to learn J2ME before working with Android or iPhone. I know only core Java (and OOP concepts very well).
I need your suggestion, especially if any one working in mobile development field.
Hoping for favorable reply...!
Thanks.
iPhone development has nothing to do with J2ME.
Android development is based on Java, but the SDK is different from J2ME. If you only know Java, Android may be easier for you. In either case you don't need J2ME.
As has been already pointed out, J2ME experience is not a requirement for developing on either stack.
Android development is effectively java-syntax (under the hood things a bit different), so if you already have strong Java skills then this will be the easiest to get started with. There will be a host of new topics to learn concerning UI and general mobile development techniques so familiarity with the language will make things a little easier.
In terms of the iPhone, bear in mind that you will need a Mac to (officially for now) develop using the current SDK and as has been pointed out uses objective-c for development.
In terms of your experience and ease of device debugging then android will offer the lower-bar to entry (and it's cheaper to deploy items to the market).
A useful site will probably be www.anddev.org in addition to the main android link already posted.
No.
Android have a complete different stack. It uses the core of the language and you'll have to learn the API. You can start at: http://developer.android.com
iPhone doesn't use Java, it uses Objective-C, so that's a complete different history. You can start here: http://developer.apple.com/iphone/
For what I know J2ME doesn't have much to do with android development. I'd suggest that you head here
And for iPhone - there is no Java so use Objective-C
J2ME experience is not required, nor an advantage, for Android or iPhone development.
Feature phones from for example Nokia and Sony Ericsson run J2ME applications.
J2ME apps are programmed using a subset of the Java 1.3 programming language.
J2ME apps are realized with the API known as MIDP, and various optional API:s known as JSR:s that may or may not be available on any given device.
Android applications are just distantly related to J2ME applications.
Android apps are programmed using the full Java 1.5 programming language (aka Java 5).
Android apps are realized using the API known as simply Android, and a subset of the Java 1.5 frameworks available for desktop and server applications.
iPhone apps are not even distantly related.
iPhone apps are programmed using the full Objective-C 2.0 programming language.
iPhone apps are realized using the API known as Cocoa Touch, that shares about half of it's API:s with the Cocoa framework used for developing Mac OS X desktop applications (The shared parts are commonly known as Foundation).
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
To learn from good examples, what are the best open source Google App Engine applications out there?
I don't care if it is Java or Python based.
Please one app per answer. Feel free to add a link to the live app (if there is) and to the project page.
Rietveld of course
I dearly love my App Engine Console. It is a mini-app, a "plug-in" for other applications. It gives you an AJAX Python interpreter that runs on the server—great for development and debugging. Sometimes I use cURL pointed at App Engine Console to run (authenticated) one-off remote Python procedure calls.
(I wrote it, yes, but I use it daily for maintenance of busy sites. It's the first tool I install on new projects and I don't know how I could live without it.)
UserInfuser, a gamification platform: http://code.google.com/p/userinfuser and https://github.com/nlake44/UserInfuser
It can help you add gamification elements to your website (badges and leaderboards). It uses the Channel API for badge notifications.
Khan Academy. One of App Engine's bigger customers.
https://khanacademy.kilnhg.com/Repo/Website/Group/stable/Files
JaikuEngine is probably Google's biggest open source App Engine project.
I really like FoFou which is a simple forum software that I have used.
FoFou is open source and hosted on github.
Partychapp is a Java GAE app using the XMPP services to allow users to create and join chatrooms together.
I really like Bloog, a simple blogging application. Source is on github.
OpenShare (http://openshare.emotionull.com)
http://bitbucket.org/jonromero/openshare/src/
Eezee MVC is An Easy Model, View, Controller Framework for Google App Engine.
Features
Has a Controller Class that does routing, handling and rendering templates.
Your controllers reside in the controllers folder, views (html Django templates) in views folder, models in models folder.
Allows Controller to recieve GET/POST parameters as function arguments.
StackPrinter is a webapp that allows printing of StackOverflow's questions in a Printer-Friendly way.
Source code is on github.
Pubsubhubbub: A simple, open, server-to-server web-hook-based pubsub (publish/subscribe) protocol as an extension to Atom and RSS.
http://code.google.com/p/pubsubhubbub/
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What is a good mobile programming platform to go with for a c++ developer?
Is learning android a good option?
If you already know C++ then Symbian has the largest install base, and isn't sandboxed like java/android vm/iphone.
Whilst the iPhone and Andriod may seem interesting, if you actually look at the figures Symbian really is the only option when looking at market share. Despite apple's advertising behemoth and cult following, it is far from being anywhere near the 200+ million Symbian smart phones out there. (there are approx 5 million iphone users).
Added to the fact that "java" on mobiles doesn't always mean the same thing. Different phones include different versions so unlike the PC environment, java on mobiles is not as "write once, run anywhere" as it makes out.
I have started playing with Android with the latest SDK. It is super easy to develop because of the coolness of Java, richness of android platform and eclipse IDE is very easy to use. I think Android is going to make a big difference in the moile application side.
UPDATE : Now you have the option of Windows Phone 7 too, which is my favorite at this point because I am a .NET developer for many years. Just get the WP7SDK and start coding in your visual studio itself.
Java ME will give you the widest choice of deployment options and market share, because most mobile phones support it. Going from C++ to Java is quite easy, since Java has fewer gotchas than C++. As a positive side effect you will also get to learn Java on a platform whose footprint is a lot smaller and manageable than Java SE.
I would advice the .NET Compact Framework for easy and fast development. The included emulator in Visual Studio makes it that much easier to develop.
But I also think that it depends on your intended application, I would for instance not advice the compact framework for writing a game with demanding graphics.
The downside of using the .NET Compact Framework is that you'll get limited on your target hardware, because it will only run on Microsoft Windows CE versions (and I thought on SymbianOS).
Personally, I started out with the Windows Mobile platform and Microsoft Embedded C++.
It was a natural shift because I'd come from the MSVC compiler/Visual Studio 6 environment, so I was already quite familiar with aspects of the compiler and the IDE.
In fact, because I was so familiar with those other tools, picking up the emulator and (notably) the oddities of working with ActiveSync became much easier. I also found the OS to be easy to use (including the familiar File Explorer and system design).
So, to more accurately answer your question, I think it depends on which platform you are familiar with previously and how confident you feel with the tools available. Especially for debugging and emulating!
in Symbian you can reach all the phone functionality == do really cool things, but Symbian is a bitch when you are trying to learn it from scratch - it's complicated.
JavaME - popular, very quick to start, light API, but sandboxed, access to different phone areas varies from vendor to vendor, from model to model. You can do stuff like connect to net, draw graphics and display menus on pretty every phone, but access to phone book, camera, sms messaging varies greatly
Sometimes it takes time to get app working exactly the same on different phone models (i don't know exactly, but i think this would be a problem on all the mobile platforms)
You surely need to check out Windows Phone 7, it is C# and have great tool support with VS2010 and Expression blend to develop quick Windows Phone applications. Not only this will benefit you in Phone. The same dev-skill set can be used to make Silverlight as well as WPF applications easily.
You can try to use StartJava which illustrate Android application creation.
http://www.en.assoft.ru/startjava
https://play.google.com/store/apps/details?id=com.assoft.StartJava
I want suggest you android is best technology among all now a days android phones are increasing tremendously so the development are also increasing like wise and it can be learn any developer...on the internet many tutorials are available to teach you android programming....so i would like to suggest you is that android is the best option...