Web frameworks to develop for Android and iPhone?
Any server platform/framework will do, both Android and iPhone have pretty standard browsers. Just don't use Flash, Silverlight or similar plugins. Stick to the w3c standards and you should be fine.
You can use pretty much any client-side web framework. Some will have more mobile-friendly features than others. Just to name a few:
GWT (see this question for some discussion of GWT on mobile)
jQuery
PhoneGap
As for server-side application frameworks (i.e. App Engine or Django), you can certainly use anything you'd like.
Related
Hi i wanted to develop an iphone app with Ruby..
Is Rhodes or Titanium the best option?
i need to integrate GPS and google maps
Rhodes is the only way to actually write a mobile app in Ruby. It is not possible to do so with Titanium or any other framework. Rhodes (and PhoneGap for that matter) emphasize writing interfaces with HTML5 and styling libraries like jQuery Mobile and Sencha Touch (but still to build a native app NOT a web app). Titanium creates its own UI abstractions and does not allow use of such styling libraries. We believe that use of HTML5
If you want to write the iPhone app in Ruby then Rhodes is as far as I know your only choice. I've made several apps with Titanium and the only language(s) you can use is Javascript/Coffeescript (Coffeescript compiles to JS). Titanium's Ruby support is only for desktop as someone has already pointed out.
As far as capabilities for Rhodes check out http://docs.rhomobile.com/rhodes/device-caps. Looks like they have support for Geolocation and Native maps.
Rhodes seems to be a Ruby only solution, while Titanium offers support for Ruby/Python/PHP. Because of this, I would choose Rhodes. Other than that, you should have access to all of the features from all the frameworks.
I have seen a blog which claims that we can develop iPhone applications in HTML5. Untill then I was aware about Objective-C on Mac.
Can we develop an interface with backend support application in HTML5 on iPhone? Will it be secure and scalable?
If HTML5 is a markup language, then how can I make conditional statements in it? Would it be via jQuery or Javascript?
Which IDE should I use to develop an iPhone app in HTML5?
A great place to start when developing an iPhone app in HTML5 is PhoneGap.
You could either go the full-blown app route by developing an iOS app using PhoneGap, or only selecting certain tools/frameworks to help build a web-based app for mobile devices.
And very much like how it works with websites, HTML is used for the structure, CSS for presentation and JavaScript for behaviour. So yes, JS is used for conditional statements, etc.
Yes.
You can develop an HTML5/CSS3/Javascript app, then wrap it in PhoneGap or Apache Cordova to make it native and put it in the App Store (or Android Market...), as well as publish it on the web. You can do this with whatever tools you're comfortable with.
Using a tool like PhoneGap has many benefits over browser-based Mobile Web Apps, such as allowing you to parse iPhone contacts and access the local hardware.
It's great in combination with jQuery Mobile, but since performance is a MAJOR issue you must be very cautious to really streamline your images, CSS, and Javascript.
See this link to learn more about Mobile Frameworks.
I have seen a blog which claims that we can develop iPhone applications in HTML5. Untill then I was aware about Objective-C on Mac.
If you want to write a native iPhone application, then Objective-C is your only option. However, as the iPhone’s web browser has a lot of capabilities (e.g. offline caching), you can develop applications that run in its web browser, as opposed to natively. They can’t access all the features of the iPhone, and they are simply websites (so you need a server to serve them), but before the iPhone SDK was released, Steve Jobs himself described web apps as the way to write software for the iPhone.
Can we develop an interface with backend support application in HTML5 on iPhone? Will it be secure and scalable?
I have no idea what that means.
If HTML5 is a markup language, then how can I make conditional statements in it? Would it be via jQuery or Javascript?
Correct: JavaScript. (jQuery is just a JavaScript framework, and it’s probably a bit heavy to use on current iPhones.)
The HTML5 spec blurs the distinction between HTML and JavaScript by defining the DOM interface for the HTML elements it specifies, and defining new DOM features (e.g. offline caching) that aren’t technically part of HTML. Apple (and other people) have further blurred the term “HTML5” by using it to encompass various CSS features like animations and transforms, which you’ll probably find very useful for making web apps feel more like native apps.
PhoneGap and Titanium allow you build native iPhone Apps based on HTML and JavaScript.
Has anyone gained experience with both? What are the differences?
There is a pretty lengthy discussion about PhoneGap VS Titanium (and Corona) on StackOverflow already that might be useful.
One of the big differences is that PhoneGap is MIT licensed and Titanium is (just recently changed) Apache licensed.
This article is a good summary of the practical and philosophical differences. Note its from an Appcelerator evangelist, but I still think its pretty impartial. In fact I think he shares Titanium more warts that I probably would :).
http://developer.appcelerator.com/blog/2012/05/comparing-titanium-and-phonegap.html
It's probably worth following the current Apple/Adobe spat, in which Mr Jobs has put the future of products that aren't written in language XYZ in the balance. OS 4 SDK states:
Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
I believe Titanium is affected by this.
Well..! this is not certain that which is better to implement the project.
Both technologies are new and having their pros & cons as well.
Titanium says to keep native environment with the help of java Script Based framework, on the other hand the phoneGap provides everything inside the WebView, you only need to put your web based project having index.html inside the WWW folder, found in the project directory structure of the Project.
So if you comfortable with Web Works, phoneGap is suitable in this case otherWise you should go with Titanium.Its easier to use and fully facilitated.
Unfortunately Titanium is not opensource anymore. You can develop apps freely but You have to buy Indie account to publish an app to appstore which cost some money.
PhoneGap is a free and open source framework that allows you to create mobile apps using web APIs for any platforms (iOS, android,windows, Blackberry etc) you think of.
Titanium: Is a cross platform, where in the code you write in JS and Titanium API's will be converted to native code and look and feel of the app will be same as native apps.
PhoneGap: Is a hybrid platform, where in you write the code using web technologies like JS, HTML and CSS. Which uses web views present in the native devices to render the UI. Look and feel is not same as native apps.
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.
Exists an universal phone developement language?
I mean, for example, php or java or whatever
Edit : We have to develop a few phone applicatons, and we are looking for the best reusable language in differents devices (Blackberry, iPhone, Motorola, etc)
Java is as close as you'll come, but it's no where near universal (iPhone doesn't support it!)
Since iPhone's language isn't used by anything else either, it's pretty much a given that you won't find a universal solution.
Rhodes by Rhomobile is a Ruby framework for building cross-platform phone applications. It allows you to build a single application that works on all major smartphones: iPhone, BlackBerry, Windows Mobile, Symbian and Android. (The only obvious omissions seem to be OpenMoko and PalmOS/webOS, but all the phones you listed are supported.)
The way Rhodes works, is that you write your application in Ruby and your UI in HTML. A Ruby implementation, the Rhodes framework itself, your application scripts and your HTML files then get packaged up into what looks to the phone's operating system like a single native application. Rhodes then runs a webserver inside of the phone and serves the application from there, using the phone's builtin web browser UI component and a JavaScript UI library for making the web app look like a native app. (E.g. iUI for the iPhone.)
There was a nice introduction to Rhodes (with live coding) by the Rhomobile CEO at the Mountain West RubyConf 2009, the video is available at the Confreaks website.
Java (more specifically J2ME) will work on most phones. Googles Android and Blackberry development involves Java too. On Symbian-phones you can develop in C and there is an interpreter for python. If you are aiming for the iPhone market you have to stick to Objective-C and the Cocoa Touch framework.
There is no universal language, nor universal runtime that is supported by all of the major platforms. Two major players are Java on J2ME, BlackBerry and Android devices and Objective-C on the iPhone.
You might want to check out Symbian phone OS, it is intended as a common OS originally a joint collaboration between Nokia, Motorla and Ericsson. see: www.symbian.org/index.php
HTML + Javascript + CSS
PhoneGap!
It is the only cross platform mobile framework that I know of. Has feature support for iPhone, Android and Blackberry
http://phonegap.com/
Well!!! Most of the phones support java. What are you trying to do? Learn a new language?
Java is probably the closest you're going to find.
Even if you can do it, what good does it do to write a mediocre application that doesn't really take full advantage of whatever device it is on?
Bite the bullet and choose to do great implementations on a selected subset of mobile platforms.