Objective-C is a reflective, object-oriented programming language, which adds
Smalltalk-style messaging to the C programming language.
Today it is used primarily on Apple's Mac OS X and iPhone OS: two environments
based on, although not compliant with, the OpenStep standard. For all of the
"classic" programmers that are starting now, you should from now that with
Objective-C, you will need to take care of the objects from the creation time up
to the destruction time.
iPhone programming environment doesn't offer so far Garbage Collector
implementation, so it's very delicate programming style.
Xcode is a suite of tools for developing software on Mac OS X, developed by Apple.Xcode includes all the tools you need to create, debug, and optimize your applications. At the heart of the Xcode tools package is the Xcode IDE, a graphical workbench that tightly integrates a professional text editor, a robust build system, a debugger, and the powerful GCC compiler capable of targeting Intel and PowerPC regardless of host platform.
Instruments is a brand-new, timeline-based performance visualization tool that gives you the ability to see how your application works like you've never been able to do before. It lets you watch CPU, disk I/O, memory usage, garbage collection, events, and more in the form of graphs tied to time. Basically you will work with Instruments all the time during developing your application in order to eliminate "memory leaks" and also inspect the CPU usage to avoid "battery killing".
Interface builder is the intuitive, easy-to-use tool for creating and editing
user interface resources files (nib files). These files represent a set of
interface objects and their relationships, as well as their connections to your
application's logic.
.nibformat = NeXT Interface Builder. This is an archive-like file, stored in
XML format for all the objects you are creating in Interface Builder. I won't go
too deep into this because my style of work doesn't include Interface Builder at
all.
Why is that? Well, even if this is a feature of the iPhone SDK and not an
option, the main reason for disowning Interface Builder is that IT DOESN'T GENERATE
CODE for the objects you are creating there. It was like a hit straight to my
face when I first discovered that, so I'm thinking that sharing that with you will
spare you of several time to clear up this dilemma.
The iPhone simulation environment lets you build and run your iPhone application
on your computer. You are building an application and you didn't get a device
yet? Not a problem, iPhone Simulator will do the business. Just like using a real
device, iPhone simulator has support for: tab, double tap, touch and hold,
swipe, flick, drag, pinch and many others. Still, you must be very careful in getting
used with the simulator because the real experience in iPhone Programming is
with the iPhone Device.
First of all, iPhone simulator supports few libraries which are not available
in iPhone OS, but are available in your Mac OS. More than that, the device is
constrained by hardware limits (for example, only 400 or 600 Mhzsingle core
processor, not even close to what your Desktop might have) and you should really
consider that in projecting and developing your applications.
The first few steps you definitely want to do before starting is to search over
the Internet for some advices on how to start, where you can find some beginner
tutorials, which are the most evolved communities of iPhone Programmers.
First of all, create a developer account (which is free). On the main page of the developer account you will find some great starting Videos and also Starting Documents. If the
lecture will become boring, you can just start with the Videos for the beginning.
Other great sections are: Sample Code: where you can download some Apple
Samples of applications which will definitely help you a lot.
Beside what Apple is offering, I am recommending also iPhone Dev SDK Forum which is a great community with starting developers and also experienced ones,
which are very communicative and kind to give us a helping hand.
The other great resource I've found and it seemed incredibly useful for me was
the
CS193 iPhone Programming course of Standford,
I definitely recommend you those videos. They really helped me to better
understand and follow some great principles of iPhone programming.
iDex Lite is a Romanian dictionary application. It allows for look up of words in a mixed database of more than 370 000 definitions from 24 different sources. It offers great advantages for users, all of the queries are executed locally, over its own compact database.