For the past two weeks, ever since the announcement of the new version of the iPhone, I have been thinking more and more about getting into this relatively new technology any way that I could. I looked into the different ways that I could get started, and while some stuff has gone over my head, I was surprisingly still determined and excited to follow through.
I think part of the my excitement to get into the iPhone world is from hearing about my friend Alan Wells’ involvement with the free app that he helped develop, EcoFinder (link opens in iTunes), which allows people in the San Francisco Bay Area find places where they can recycle their stuff or dispose their waste often for free.
I’m not saying that building an iPhone app is easy (because I’m sure it involves a lot of planning and doing and troubleshooting and waiting), but I am confident that it is something that I can take on and enjoy very much.
Because of this, I finally joined Apple’s Developer Connection Program. Even though all of the developing occurs on the Mac, of which I have none, I could still look up the support and reference material to get myself ready, whenever the time comes.
Learning New Languages
I have learned that iPhone apps are built with Objective-C, a language that I did not know existed until I recently. So I said to myself, “It’s about time anyway for me to learn these other languages like Java and C.”
And since it’s harder for me to learn Objective-C without a Mac, I chose another C language to just dip my feet into the water. And for some reason, I had some books on C++ lying around in the house, I decided to pick it up and start playing with it. At this point, though, I’m getting the feeling that C++ might not be as useful a language for web developing, or as similar to C++ as I thought. But I’m going to continue with it and learn the basic structure and syntax.
With my Apple Developer Connection Program membership, I get more access to the iPhone, Safari, and Mac OS X developing resources, including videos. Since I can’t develop stuff for the iPhone yet, and I have no interest (for now anyways) to develop stuff for the Mac OS X, I can learn more about developing for Safari, since 1) there’s Safari for Windows, and they said Safari is practically the same for Mac, Windows, and the iPhone, and 2) the iPhone only uses Safari for web browsing. That means I can test stuff on my Windows Safari, and it would most likely work on the iPhone.
So I spent the past few days watching the now-old videos for developing web content for Safari. At the time, the videos referred to the Safari 4 Developer’s Beta, where they talked about how many new exciting things they’re working on for Safari 4. But now, Safari 4 is released and all those new things are available, which is perfect for me to start playing!
And finally, we’ve come to what I’ve done over the weekend. I had been applying the special features that are available in Safari and had done a couple tiny experiment/tests with them. Now available in the Programming Experiments Section are six experiments that I’ve worked on that are primarily made for Safari and/or iPhone. If you have Safari 4 installed or are on the iPhone, you should check them out.
Here are what I’ve played with:
- iPhone TouchEvents – basic iPhone functions, sort of like mouse events for desktop browsers.
<audio>tags – which are available for HTML 5, which Safari 4 supports.
- Console Profile – available for browsers with developer tools. I didn’t know how to use this until I watched the video. But then again, it wasn’t a real need for me.
@font-face– a CSS rule to import fonts without Flash or the user downloading the font. Here I used my Necessity font as an example.
querySelectorAll()– having just learned jQuery, I feel that it sort of made jQuery obsolete in that department. But of course, this is still only available in Safari, so it’ll be a while before this is adopted for all browsers.
Since I don’t have an iPhone (yet), I had to borrow my sister’s iPhone whenever she visits to test these things, which I’m sure is very annoying for her. But hopefully, pretty soon, I can test my code all the live long day on my own iPhone.
A few weeks ago, one of my friends commented that he doesn’t think of me as an Apple person. Perhaps that was a long time ago, but now I actually don’t see myself as exclusively Windows or Mac, even though I don’t have any Mac products.
But with the recent development in interest for the iPhone, and interest in developing apps for it, which requires the use of the Mac, I will inevitably go over to the other side. But I don’t know if I’ll ever completely switch, since I think it’s a good skill to have to be able to work these two OS’s simultaneously. But I know it’s going to be fun.