Ruby on Rails Iphone development - iphone

I've been digging around for this one. I understand that there two possible ways to develop for the iPhone.
via web kit frameworks, such as jqtouch and iwebkit, and
using the iPhone's api
I notice quite a few people using web kit frameworks, especially jqtouch. What are the benefits of using a webkit framework versus using the iPhone's api directly?
One point that springs into mind, is the fact that using a web kit framework makes it accessible through other smart phones? Not just the iPhone?
Are there any differences in terms of graphic enhancements? i.e. will transitions or animation look different?
I am a web developer by heart. It will be an advantage if I can develop an iPhone app with knowledge that I already know, that being the Ruby on Rails web framework.
I have also read this slideshow, which seems pretty detailed on various web kits.
Your suggestions / feedback is appreciated.

Just came across the following by Oreilly which seems to answer a good detail of differences between a native and web app development for the iPhone.

Related

What options are there for cross-platform (iPhone, Android, Blackberry) development?

Me and my friends are starting app development. We have created 2 apps now, and have 3 more in the works. We're looking for a development tool or environment that will allow us to build games that works on all the major handsets. We're using Flash at the moment for cross-platform, but are there any better and more powerful options?
Or would it be best to write the code in one language, then convert it line by line to the others? How do the creators of games like Angry Birds do it?
Thanks.
There are many options:
PhoneGap
SAP Sybase Unwired Platform
Appcelerator Titanium
RhoMobile
Kony
Out of all these mentioned tools i will recommend PhoneGap.
Also PhoneGap and Corona
My friends are using this for making games , and am a designer so not much into programming of that. But still as far my friends say this is good for most of the applications, though there are very few things which cant be implemented.
My friends have created a utility app and a game tic tac to using this.
For developing games i would recommend Corona.
For a native feel and look i would recommend Titanium
For fast and simple development and using html/js i would recommend Phonegap
You should also check out Worklight from IBM. You can easily download the fully functional development tool from their developerworks Web site. The only restriction is that you can't use what you write for a production version. Their tutorials are great and escort you comfortably through the short learning curve.
I'm a Titanium Developer, I find this framework great because it gives me the chance to develop cross browser mobile with Javascript. This is a big advantage for people that have Web Developing background like me. If you are gonna develop basic cross browser application und you will do it quick (and if you have javascript know-how), then appcelerator is good for you!

iPhone native application vs web application

I am pretty new to iPhone and spent some months on it but.....But i think my learning went waste when i read about web application for iPhone...These can be developed even with a nil knowledge of Objective c...
I am very shocked about that what is need of an iPhone native app....i mean iPhone developers are less required now?
please suggest........
Well it's not that simple.
You can do quite a lot on the iphone with html5 and css3. Especially effects using webkit transforms are really impressive and performant. Furthermore, you can for example access the GPS hardware using javascript.
On top of that it is also possible to write 'enhanced' webapplications using a framework like phonegap (http://www.phonegap.com/) that enables you to use things like the accelerometer or tab controls via javascript as well as makes your webapplication into a compiled app that can be destributed via the appstore (and used offline).
Combine these features with a framework like sencha touch (http://www.sencha.com/products/touch/) or the currently developed jquery mobile and you can write really usefull applications that feel like native iphone apps using mostly just web technology. Another benefit is, that these applications can also be ported to android devices rather easily.
But this all comes at the price of performance. Thomas Fuchs blogged some of his experiences in speeding up web applications for the ipad here: http://mir.aculo.us/2010/06/04/making-an-ipad-html5-app-making-it-really-fast/
Generally speaking it is extremely hard to write realtime or image heavy applications that perform smoothly on the ipad and it is close to impossible to match the performance and smoothness of native core animation effects.
Furthermore things like file access, core data (some hacks exist) or direct access to the 3d hardware require you to write cocoa code anyway.
In my current applications i usually start with a bare-bone ios app containing some webviews. Then i sketch up features using web technology and implement performance critical parts using cocoa
I have no idea what you're talking about. Yes, there are two ways to develop applications that can run on the iPhone: web applications and native applications. Yes, web applications don't require you to know Objective-C. Yes, Objective-C is more difficult than HTML/CSS. But you can't do everything in a web application that you can in a native application. So no, native apps aren't going anywhere any time soon, and neither are the programmers who write them. They are no "less required" now than before.
It's the same thing on the desktop. You can write web applications that the user runs in their web browser, or you can write a native app in Objective-C. There is a place for both, but native apps aren't going anywhere any time soon.
You can choose to take the easier route, if you choose, but you won't end up in the same place as someone who has taken the time to learn Objective-C and written a native app. Whether you need that additional latitude and functionality is up to you. As long as you're making threats like "help me or I will leave this field", I suspect that very few of us will miss you.
A huge portion of possible apps that don't require the highest performance, special device hardware features not yet supported in HTML5, nor the security of compiled code, can be done as web apps.
But if you need the highest frame rates or a lot of number crunching, a native app can run from around 20X to over 200X faster than Javascript in a web app. A native app can also do audio processing and real-time video analysis, background VOIP or GPS tracking, use other brand new iOS APIs (MIDI keyboard support, etc.), and include lots of compiled libraries and other unix code that just isn't available in HTML5.
I've summed up my thoughts on the whole "native vs. web" discussion in a blog post here: http://www.springenwerk.com/2011/09/thoughts-on-mobile-ui-design.html
In a nutshell: You can't get around getting to know the platform you are targeting if you want to provide a great user experience. Plus, you shouldn't try to mimic native UI/UX in a web application, it will only disappoint your users.

JavaScript based iPhone UI framework

We have a push based web-application. Recently, we planned to make an iPhone app for it. Much like Facebook has it's iPhone application as well as web presence. We are looking for a UI framework that can get us going quickly. I've leafed through PhoneGap and couple other JS based UI frameworks mentioned here. I am bit unsure what can suit us the best. So, I am looking for your suggestions.
Our constraints are as follows:
The framework should be JS based. We all are web-devs and want to avoid learning Objective C.
Framework should support iPhone's capabiilities as smoothly as a native app does. If not, we will prefer a JS framework which is the smoothest of all JS frameworks. So, this is the most important constraint.
It should support smooth swipe through screens, support rotation. Nice, if it can capture shake as well. But shake does not take preference over a better framework without shake support.
Nice to have -- with little or no modification in code, if the framework is supported on other touchscreen phones as well. Android and Symbian would be suffice. But again, we are focused on iPhone for now.
I am a bit curious to know what can be the best choice to start development with. I will be thankful if you share your experience with pros-and-cons of the framework that you have used.
Thanks
Nishant
I have been playing with following frameworks.
Jo
Sencha Touch
jQuery Mobile
These are for serving Web based mobile sites, they can then in turn be made into Apps for Android or iOS using PhoneGap
Of the 3, Sencha is the more mature project and has the most things out of the box. Jo looks very promising and would probably directly compete with Sencha. jQuery mobile is very interesting but just far to early to do any production code with it, too rough around the edges. jQuery mobile takes a different approach to the others as it is html based and it interperates the attributes on tags to turn things into tableviews or menus.
jQuery mobile is quicker to hack together and get your head around, where the other two take a little bit more thinking. But once you figure them out its easy enough.
If you don't want to serve the site via a url at all and want to just build an app then Appcelerator is the way to go. You write code in JS and it makes native Android or iOS apps for you. You will get access to pretty much the full Android/iOS api.
I have coded with appcelerator, however I am no longer going to use it and use one of the above frameworks, probably Sencha for just now. I can get access to the device native apis via PhoneGap and for simpler apps give a great experience cross device via a url.
In about 6 months, or sooner, I think jQuery mobile will be the daddy...

Mobile UI that works well for both iPhone and Blackberry Web Applications

Can someone recommend a good Mobile UI Javascript/jQuery framework that works well with both the iPhone and Blackberry? I'm developing the core app from ASP.NET.
Thank you in advance.
I don't have any personal experience with any of these, but I thought I'd mention a few that I've heard of. It will probably depend more on the features you require for your specific application, to determine which framework suits you best. Also, this is by no means an exhaustive list - the "cross-platform" mobile frameworks seem to be popping up all over the place recently!
Rhodoes
PhoneGap
ramp
appcelerator
As it is today, the BlackBerry browser is not very friendly to these libraries. But the upcoming version will support HTML 5, which will allow you to use most popular js frameworks. From personal experience I can recommend Sencha and jQuery.
I would recommend Sencha Touch or Sproutcore.
Sencha Touch is very similar to EXTJS, which a lot of front end developers really like. Check out
http://www.sencha.com/products/touch/
It is probably more mature than SC, and you will have a larger developer base on which to draw. You are gonna wanna try out the demos on that link, on a phone or ipad if you have one.
However, I personally like the strong MVC pattern that Sproutcore enforces. The mobile framework exists, but I don't know of any major clients adopting it, yet. The founder of SC, Charles Jolley, recently left Apple to push his framework; its gonna be big.
BlackBerry has very basic browser.
But for iPhone, you can try jQTouch. Its lightweight and amazing.

Titanium Developer for iPhone

Am looking into developing an iPhone native app using Titanium Developer
Since this is still in beta, I am wondering if there are any better options and/or if its a good idea using such software to develop native apps (which are not games; not graphic intensive)
If you don't want to wait, you can do what a lot of us did: develop apps in Cocoa Touch. It works perfectly well for games as well as non-graphic intensive apps.
The similar and more mature PhoneGap framework has been used in a number of iPhone apps and Apple only seems to object if the application autoupdates.
That being said, I wouldn't recommend using web frameworks unless your application is really simple--you will get a much better experience from a native application (on both Android and iPhone)
My company uses Titanium and it's working fine so far. It's also a pleasure to develop iPhone app using javascript and co. I'd recomend you give it a try, it's really simple to set up and start coding.
Some reading up: http://boldr.net/iphone-app-with-titanium-mobile/