From today inaugurated a new section (category to be corrected) dedicated to developing applications on Apple iPhone! I state now that many of the items that will publish a "cut" in line with the spirit of this blog, that will be mostly for advanced users. However, as I have done for other topics, I'll try to be as clear as possible and, where necessary, to insert some "basic concept" useful to a wider audience. I say this because I'm not going to publish another "Hello World", created with Interface Builder, you'll find on the net enough. I'd like to also address the issue in depth, addressing technical issues and hard to find on the net.
Tips for the development of Apple's iPhone
For those who want to start or for those who already tried to write iPhone applications, list a few tips "personal" I hope useful:
- Dotavi a Mac: it sounds obvious but it is better to stress! Even a Mac Book is fine ...
- Search the Web: Internet you will find plenty of information on how you should start, to be registered as an Apple developer tools and the SDK you need to start developing
- Study well the C: without a good knowledge of C (if not very good) is very complex to understand and learn to develop for Apple iPhone. In this regard I can only advise the bible of this language, Kernighan & Ritchie or the well-known (by the name of the author Brian W. Kernighan and Dennis M. Ritchie) that are online on Google Books
- Arm yourself with patience: Objective-C is the language used to develop (in general) and Apple, in particular, on the iPhone. Designed by Brad J. Cox in early 1980, had as additional layer to the C standard, inheriting much from another known language: Smalltalk-80. The Objective-C enters the "official" in Apple at the end of 1996, and will be used to write OS X. The development environment created by the introduction of Objective-C Cocoa! The fact that Objective-C is at the end a mixture of C / C + + syntax and pure Cocoa, initially sends you out of my mind mainly because some things will not work despite correct syntax. However I assure you that it's only a matter of habit, a good programmer past the first week of "hell" will begin already to feel at ease.











Great idea this column. I had already searched and collected some 'documentation to read, but for lack of time at the moment is all we see from the side ... you got to tell!
Hello,
Emmanuel
You know that recently I was doing a little thought to the development of iPhone applications?
Fortunately I have studied for years C / C + + but I still have not got a MAC (vabè is already in the shopping basket).
Cmq follow the book with much pleasure, surely there proporrai interesting things
Giovambattista Hello, I'd like to schedule the application for the iPhone, I know C, thanks to several years of study and I would like to expand my knowledge. Could I ask you to report a guide on how to start?
Thanks in advance
@ OrSc:
All information necessary and sufficient to initiate the development of Apple's iPhone, tutorials, demos and videos, you are actually on the Apple website (better if you are registered as a developer). Alternatively, I suggest you search on Google Books , where you'll find many books on both Objective-C on iPhone / Cocoa. On the Internet, then there is a lot, see, eg, iSpazio , but if you search Google you'll see that there is a lot of info. Finally download all the sources you find and study them, try to edit and coding, coding and encoding ... the only good way to learn to develop on the iPhone (but is a general rule) has set a goal and write code ...
Last year, at the launch of the iPhone 3G in Italy, I thought I had to start developing applications for iPhone (sniffing the strong business that they could derive the appropriate locating killer app).
). It is not a minimal cost
But then I gave up, because the initial start-up, in terms of cost it seemed unlikely to be reset in a short time.
In fact, you must:
1) Buy a Mac (even mini): Apple does not allow the development of systems different from his (alive exiting your
2) Buy an iPhone? It 'a passage that could be avoided (there is an emulator) but in my opinion is always better to be able to then test the real hardware. Even this is not a minimal cost.
3) Even if the SDK is free for developers, the same can not be said to the then "pass" in their own applications on the Apple Store. There, too, must pay duty at Apple (though I think it starts at $ 99). It 'be faced, but it's still a cost to be recovered succcessivamente.
So, ultimately, I estimated an initial start-up of around € 1300/1400.
To distribute the application from a few dollars really worth it?
@ Christian: they are the same things that I thought too. I must say that this "closure" does not understand much, especially now that Apple has produced a device (the iPhone) that should have a target cross. However, as regards point 1, ie the inability to develop iPhone applications on Windows or Linux, I believe that is not a "block" annoyance desk, as it may be the other.
How do you know about Apple's iPhone applications can be developed along two paths: WebKit and XCode. With the first option, in practice, is developed in HTML / Javascript, so what is going to create a Web application has to be corrected. This approach allows the development of Apple's iPhone application also on Windows systems, eg, the extension of Aptana IDE for developing applications for iPhone.
The road with XCode is the most clean and sophisticated, actually generates applications as well known in the sense of the term (short executable). As a sort of iPhone OSX lite, ie a small Apple laptop, when developments with XCode for iPhone is as if you were developing a Cocoa application for Mac In practice, a development environment for iPhone can run on Windows should bring with Kernel Mac ... if everything is like trying to develop an application on Windows on a Mac, would lack the system calls.
Moral, because Mac perfectly emulates Windows, would it be to pass all of the Mac, so the problem would be solved.
However, we hope that Apple's development policies become a bit more "open" in the future ...
@ Emmanuel: @ Giovambattista Fazioli:
I agree on that!