2

My Boss has sold a few 'iPhone apps' to clients, we are a web development shop. I have explained to him that I do not know the first thing about them, but it's such a powerful buzz-word and we need to meet clients expectations. I do have some experience in C, Java and Python which should help if I need to use objective-C. I have even done a few Android tutorials.

These apps will more or less be HTML, in my mind they are not real apps, but faux apps which have the same functionality as the clients' websites. To me a real app is something that uses the phones hardware inputs and outputs, gps, accelerometer, speaker etc.

What resources can I use to get up to speed iOS development and how to build apps in html. I have no idea where to begin.

2
  • Your boss isn't a resource? Commented Jan 11, 2011 at 2:44
  • He can't teach me anything about programming, only purchase the resources I need (Mac, Apple dev fees, books). Perhaps we could get a consultant iPhone dev to help out, but I think SO is good enough. Commented Jan 11, 2011 at 2:58

6 Answers 6

8

I made the same switch this year. I've been a web developer since 1998, and last April got hired by a company that basically did the same thing--sold some iPhone projects and then figured out how to deliver them.

It was a solid month before I wrote ANYTHING that ended up in production code. That month was one of the most intense periods of learning I've ever had in my life. I went home each night with my brain leaking out of my ears. I was literally dreaming about iPhone development--I remember a dream one night in which a girl was wearing a one-piece bathing suit made out of a UITableView. It was scrollable and everything.

It's similar to web development in a couple aspects, and a couple aspects ONLY. Control flow within a method is similar. How methods get called is entirely different, but an if statement is still an if statement. It still has all the data types you're used to dealing with (arrays, associative arrays, strings, etc) but it calls them different things, and most of the time they're objects but some gotcha times they're not. It's MVC, but not the way you're used to thinking of. Doing web requests from it sort of feels like writing AJAX calls, though of course the syntax and control flow are pretty different (actually, the new blocks interface in ASIHTTP makes it closer to jQuery than it used to be!).

There are a couple projects mentioned in this thread (PhoneGap, Appcellerator) that basically wrap a UIWebView with your HTML/JS content and make a native app out of that. Compared to the native API, they're not much, but they do flatten the learning curve significantly, and for the apps you describe they might well be sufficient.

3
  • @ammoQ - It was kind of awesome. The kind of dream you wake up from and realize how much you're actually learning/engraining, you know? Commented Jan 11, 2011 at 14:49
  • Did you just dive into the official documentation? BTW, some web frameworks do have event driven control flow, Django has signals which can be registered to for callback. I've done some UI programming and the only thing I really dislike is threads. Commented Jan 11, 2011 at 23:07
  • I used the Mark and LaMarche books from Apress. Made my way through the samples. I'm not convinced they're the best, but they're what I used. My brother is making the same transition, though a bit less abruptly, and is very much enjoying the Head First book. Commented Jan 12, 2011 at 13:04
2

Try PhoneGap.

It's a cross-platform framework that lets you build the core application in HTML/JavaScript while still letting you take advantage of phone-specific features, like notifications.

6
  • PhoneGap is a good idea. Commented Jan 11, 2011 at 2:27
  • I would be interested to see a comparison between phonegap and appcelerator. I have looked at both but without experience cannot make a judgement myself. Commented Jan 11, 2011 at 3:17
  • After reading some very detailed answers on SO I can see that PhoneGap is going to fit better with the way we already work and has fewer bugs. We're only creating simple apps anyway, so HTML5 in a WebView is good enough. I like native apps, but Appcelorator just seems like the wrong way to do native applications, almost like using Dreamweaver for creating web pages. stackoverflow.com/questions/1482586/… Commented Jan 11, 2011 at 3:24
  • @Keyo: Appcelerator is nothing like using Dreamweaver. ;) Commented Jan 11, 2011 at 11:29
  • PhoneGap is awfully weak compared to the native API, but in this case it's probably the right tool for the job. Commented Jan 11, 2011 at 13:16
2

Appcelerator

Is what I would and have used. Things go much smoother if you have a decent amount of JavaScript experience.

1
  • +1 for mentioning Appcelerator. You can actually use Python, PHP or Ruby to develop your application and compile to native code. Appcelerator Titanium's API is in js for both mobile and desktop. Commented Jan 11, 2011 at 17:37
1

If you have that C and Java experience, pick up Head First iPhone Development (not associated with the book) and you'll be able to pick up the basics fairly easily. If all you're going to do is create an app that displays a UIWebView and loads a web page, you'll be able to figure it out in a matter of days.

If it has to do more than that the there's a fairly steep learning curve, but that book will teach you enough to actually know what you don't know. At that point you'll be able to look things up in the documentation and make sense of them, create decent Google queries that will return what you actually need, ask decent questions on Stack Overflow that will that will result in good answers that you can understand.

2
  • I think you mean, Head First iPhone Development Commented Jan 11, 2011 at 2:20
  • Right you are, I fixed and linked to the publisher, thanks. Commented Jan 11, 2011 at 2:26
0

Sencha Touch is a javascript library that allows for web apps specifically targetet to iDevices and Android; together with the other tools mentioned here you should be able to make a locally-running-native-looking web app without going into Objective-C.

-2

Ideally you'd get it outsourced and you'd focus on your field instead of wasting time. Switching fields to do an app - that's good if you plan to do it eg. instead of webdevelopement, but if someone that wants a delphi app will come you do what? Learn delphi?

Your boss isn't really a programmer, correct?

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.