Is there any common language to develop a same application for iphone, blackberry, windows mobile and android? [duplicate] - iphone

This question already has answers here:
Closed 12 years ago.
Possible Duplicate:
Technology to write iPhone, BlackBerry and Android phone at the same time?
Is there any common language to develop a same application for iphone, blackberry, windows mobile and android?

Writing HTML 5 applications is your best bet. X-plat only works well for game development. All these platforms have different UI constructs that do not map directly to other platforms.
You are better off writing web services to do the heavy lifting and writing thin UIs using the native SDKs so they match the platform.

You could try PhoneGap (www.phonegap.com)...
PhoneGap is an open source development framework for building cross-platform mobile apps. Build apps in HTML and JavaScript and still take advantage of core features in iPhone/iTouch, iPad, Google Android, Palm, Symbian and Blackberry SDKs.
The language in question is javascript :)

No. For those 3 environments you have a mix of Java, Objective C and .NET framework languages (VB,C#,C++), all which have very different requirements to run as well as to write. As suggested, PhoneGap can be of some use in this area, but you will only be able to write web based applications to work in various mobile environments.

Related

One mobile app runs in all platforms. Is that Possible? [duplicate]

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
What work has been done on cross-platform mobile development?
Is there any mobile application development framework available by which I can develop a app that will run in all all platforms like iphone,Android,Blacberry.
Have a look to PhoneGap http://www.phonegap.com/ or Appcelerator Titanuim http://www.appcelerator.com/.
As Feanor said, web application is the only way to go if you are targetting all applications with one build. You can use many javascript libraries optimized for the mobile. Such as Sencha Touch, JQTouch and Wink Toolkit. You can use PhoneGap to wrap these web apps so you can sell on them on the respective device appstore.
Titanium does try to provide cross platform developement to some extent but if you application is a bit more than a simple app it wont be easy as even they has different api's for different platforms. The only difference is you can use javascript to develop for all the platforms in Titanium.
The main difficulty in doing a cross platform app is that, the api's and ui philisophy are different for each platform. The langauge in which development is done is not the only difference.
You can't make a Cross-Compilable application. The closest you are getting are something like Phonegap, which uses HTML5 and CC3 as a webapp.
The problem with those applications is the lack of native opportunities and you are loosing performance.
You can build HTML5 web apps for iphone,android and blackberry(http://devblog.blackberry.com/2010/03/use-html5-in-your-blackberry-web-content/)
In addition to notme's suggestion consider marmalade http://www.madewithmarmalade.com/ the clever part of marmalade is that it produces a single binary that will run on all platforms.
Be aware that there are always compromises when you use such frameworks. Many are explicit but some are hidden - like you might have trouble attracting developers to work on them.

Make Phone Applications Across All Operating Systems [duplicate]

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
Write once deploy on Windows Mobile 6, Windows Phone 7, Android and iPhone?
Currently I have created a 2 simple apps for iphone and 1 for windows phone. When I go to promote these apps they usually....well do you have this for android or blackberry or whatever.
Do I have to rewrite my applications in every environment in order to have them compatible across all the operating systems out there? Is there tools that address this or do you guys simply recreate the app in eclipse, xcode, visual studio etc..?
Complex applications generally need to be created with the native environment.
Simple applications can be created with cross platform tools like Titanium and PhoneGap:
- http://www.appcelerator.com/
- http://www.phonegap.com/
#Fraggle (see comment)
I have quite some experience with Appcelerator Titanium. The choice for native v.s. cross-plafrom completely depends on the kind of application you need and your knowledge. General considerations:
Can the application be created with web technologies like HTML, CSS and JavaScript?
What language / environment do I know the best (native vs web technologies)?
How much time and money can I spend?
Do I really need cross-platform compatibility?
Most mobile phone applications only provide an easy interface for internet services like news updates, traffic info, social media and video. Those applications can be easily written with web technologies. Therefor most mobile applications can be written with tools like Titanium. The great thing about Titanium: Get the native experience on multiple devices while only maintaining one code-base. Cheap way of developing cross-platform applications.
Many developers use Titanium because they don't know the native language (objective-C / java), but they have extensive knowledge about web technologies. This way they can create pretty nice applications without learning new languages. Titanium is actually used for many non-cross-platform applications.
Complex graphics, device specific tools and complex interfaces still require the native environment.
Native applications will always perform better and use device specific features, but do you really need that degree of perfection? Yes, develop native applications for every device. No, simply create one cross-platform application.
Check this page to see what Titanium can do:
http://www.appcelerator.com/showcase/applications-showcase/
You may be able to use a third party tool like http://www.phonegap.com.
There are many options for cross-platform app development, but I would suggest Adobe AIR as it is also supported on the Blackberry Playbook by RIM. As far as I know, it's the only cross-platform runtime that is supported by a major platform owner.
I have also seen it do well on Android, and iOS support is also advertized.
Well there are definitely some supposed "write once, run everwhere" solutions out there. Here is one from RhoMobile which specializes in this space. But that is just what a quick Google search turned up. I haven't tried any of them.
I had an app that was developed for Android, and I ended up essentially re-writing it in Objective-C when I wanted to port it over to iPhone. It worked out pretty well and took less time than I thought (considering I hadn't done any iPhone programming prior). But now of course I have 2 code bases that I have to maintain and when I add features I'll have to do it for both the Android and iPhone version.
So having a single code base that lets me build apps for multiple platforms would be great. Do any of the tools out there work well? Not sure. Do they give you full control to make your app look and operate the way you want it, and make us of all the OS's features? Not sure.
Qt (now owned by Nokia) is another provider of a cross platform mobile framework
http://qt.nokia.com/
Even though iphone and android seem to be missing from their official Supported Platforms list I think there is an Android 2.3 release just around the corner. Qt for Iphone also seems to be in the works.
HTML5 may be one solution if the app you providing is simple enough. Google is doing it this way. Otherwise, even you have anything "cross-phone" it may still feels alien.

Portability among mobile platforms

Do any libraries or other development resources exist that can help reduce the effort involved in porting applications between various mobile platforms? In particular, I am interested in supporting iPhone, Android, and Windows Phone 7. Some areas of concern include UI, client-server communication, and hardware support (e.g., camera, GPS, etc).
MonoTouch allows you to write iPhone apps using .NET (C#). In the near future, an Android version will also be available (MonoDroid)
As for Windows Mobile, I'd forget about that and concentrate on Windows Phone 7, which will use Silverlight for apps. And of course, Silverlight is .NET as well, so you can share all your business logic between Silverlight, MonoTouch (iPhone) and MonoDroid (Android)
There is actually a really good tool out there that allows you to write apps for android and iphone in javascrpit, HTML and CSS. Then the program will port the app for either iphone or android, building the objective C code (iphone) or java code (android) as it compiles. Later revisions of the program are said to include the ability to port to palm and blackberry as well. And the bonus... free and open-source!!
PhoneGap supports Android, Blackberry, and iPhone formally. They tweeted that it works on Windows Phone 7, but it's a bit early to feel certain of that, since that OS has not shipped yet. Has reasonable but far from complete hardware support.
Well it appears that iSpectrum seems to be what you're looking for.
You'll find a video on their website homepage ( http://www.flexycore.com/ ) which shows a 3D android game they ported in only 2 days!
All mobile platforms I've encountered so far have C89-compatible compilers, so that is what you want to use for the core application logic if you have high portability requirements.
The product I'm working on can currently be built and run on Android, iPhone, Symbian, Windows Mobile and some other proprietary platforms (Nintendo handhelds) and legacy platforms (PalmOS, OSE) as well as "real" machines (Linux and Solaris servers).
Of course the UI code has to be written specifically for each platform, but the core is built from the same source code for all targets.

How to develop products on mobile phones

Recently we are going to develop some products on mobile phone (specially for 3g). There are many platforms about mobile phones: iPhone OS, Symbian, Blackberry's. If I want to develop a product, should I use Java or write every program for the main platforms?
Particular one question for iPhone development: are there many Java programs on iPhone? Most iphone app I've seen are developed by their own xCode.
I need some guidance on how to do coding for mobiles correctly.
All these platforms are completely different beasts as in the old days. About symbian, (which I am most familiar with) you can use Qt for quality native applications. Native api is confusing so avoid it where possible. If your application is simple, you can even get away with python.
In short, use the language which you are most productive available for each platform. Their apis are wildly different anyway. Language choice doesn't matter as much as the choice of platforms you are supporting.
Java is not available for use on the iPhone; you can use Objective-C, C and C++ to develop iPhone applications.
There is currently no Java for iPhone, so you need to develop separately for iPhone in objective C.
Alternatively you can create application which runs in web browser, it'll be available on all platforms, but not every application is suitable for web.
Have you considered you using web technologies?
There are a couple of cross platform tool kits for iPhone and Android. They work in the same fashion as Adobe Air. Allowing you to make HTML/JS based web app and run it as native code in the browser.
Titanium Mobile (Android & iPhone) HTML/CSS/JS
Corona iPhone Only via Lua
Palm's Web OS is also based on web technologies.
Finally the old guard, Symbian Provides a Web Widgets system, that works in on all handsets with 9.2 fp 2 installed (n95,e72, n97 etc.) The api supports some hardware functionality.
The only one left out in the cold is Windows Mobile. There is some 3rd party support in the form of Web Widgets by torch mobile
It's currently limited to iPhone, BlackBerry, and Android (and possibly WinMo) but you may want to check out the open source project called PhoneGap. I think it is basically just a native wrapper around the built in web browser for each device, but it does expose some functionality not normally available in that environment such as geolocation, accelerometer, sound, etc.

What work has been done on cross-platform mobile development? [closed]

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.
Have any well-documented or open source projects targeted iPhone, Blackberry, and Android ? Are there other platforms which are better-suited to such an endeavor ?
Note that I am particularly asking about client-side software, not web apps, though any information about the difficulties of using web apps across multiple mobile platforms is also interesting.
The HTML5 standard has support for releasing stand-alone HTML5 apps. Essentially a HTML5 app is a bundle of HTML5, JavaScript and CSS files that will run stand-alone in the browser of the desktop or device. You can distribute them like any other program, including selling them on the iStore for the iPhone.
The support for this is patchy at the moment but is likely to improve tremendously in the next year or two.
Google for HTML5 apps for information and resources. A good introduction to HTML5 is the online book "Dive Into HTML5" by Mark Pilgrim. This is a work in progress, but sufficiently complete to be useful.
There are 2 [newish] solutions to exactly this issue:
rhomobile
and
phonegap
I think there best chance for cross-platform mobile success is the Web. Just write a very simple Web application for what you want to achieve. It should work on the Nokia S60browser, Iphone and Android.
That's already a lot of mobile devices...
Appcelerator, PhoneGap (acquired by Adobe, plus it's now standardized as Apache Cordova), Intel XDK (formerly called appMobi) and Rhodes (acquired by Motorola Solutions) are all open source and create hybrid apps (natively packed with html ui, with the possibility to add some of your native controls).
If it's a game, your only professional choice for a free engine that can be used for commercial development is Unity3D. For 2D games, cocos2d-x is also available. Additionally, Vuforia can be used for AR and LiquidFun for physics.
XMLVM (via Coke and Code) and EdgeLib currently seem to be the most mature options. EdgeLib is aimed primarily at game developers, and according to Coke and Code, the XMLVM developers are difficult to contact.
The iPhone uses Objective C, the Blackberry Java SE with RIM functionality and Android another custom version of Java. I could possibly see how you could combine the latter two but there is no functionality (without jailbreaking) of running Java applications on an iPhone.
The best bet I've seen so far is something like Qt that will run on Windows CE, almost certainly shortly Symbian, some Java platforms and the three major desktop OSs.
redfivelabs have implemented the .Net compact framework for the S60 platform
Titanium Mobile from Appcelerator looks interesting. You develop your app in HTML & Javascript and upload to their server where it is compiled into a native application of the target platform (currently iPhone & Android)
For the iPhone there's currently no such notion as Open Source as the Apple iPhone SDK NDA forbids publishing code. They also forbid posting code on any non-Apple site or even non-Apple discussion forums on iPhone development. As soon as the NDA expires (will it ever?) we'll start having Open Source iPhone apps.
Suprised MoSync hasn't been mentioned here already.
Update (2014 January - present): the project is abandoned.
I started to use a really cool cross-platform SDK called EdgeLib. It allows you to use a simple API and you can compile your projects to a variety of platforms: Windows Mobile Pocket PC, Windows Mobile Smartphone, Symbian Series 60, Series 80, Series 90, Symbian UIQ, Gamepark Holdings GP2X, Gizmondo and Windows desktop.
I know iPhone, Blackberry, and Android are not on that list but the developers mentioned that these platforms are on their roadmap.
EdgeLib looks promising and has an iPhone beta announced but not open yet.
jQuery Mobile Alpha 2 Released
Nimblekit
Sencha
Phonegap
Appcelerator
Well BlackBerrys don't really have Java SE, they have Java ME, with a lot of additional librarys provided by RIM. Same goes for Android. The only cross-platform apps you'll ever see on mobile devices are probably written in strict Java ME, which runs on most devices. However, just like JavaScript between different browser, Java ME has is quirks across different devices, so source code changes may be necessary.
I found one game engine for dat
MoMinis games are available for distribution and are supported on Android, Blackberry, Symbian and J2me devices. MoMinis games include a wide range of casual games – including arcade, puzzle, time management, strategy and brain-training mobile games.
mominis
Phonsai is new in the market for cross-platform mobile develeopment "without coding"
It is mixture of do-it-yourself mobile development and content management
You can customize all applications. No templates.
It is SaaS. Totally web based with java web start.
Work with 2000 mobile phone models.
Very simple GUI and no coding. Just copy and paste.
It has create, send and report modules.
And at last it has 4 emulators inside so that it is a WYSIWYG concept.
You can reach Phonsai at http://phonsai.com
We have a cross platform mobile development platform called RAMP. It covers both feature and smart phones from midp 1 to Android. The platform is mostly aimed at secure commercial applications but it is pluggable so you can do almost anything with it.
For more information and access to the platform have a look at:
virtual mobile tech
S60 on Symbian OS has alot of interesting projects happening relating to desktop/server languages to move applications mobile. Some interesting ones:-
Python: sourceforge
Ruby: ruby-symbian
Mozilla: mozilla
S60Webkit: S60browser
POSIX: openc_cpp