Advantages
- Dynamic typing and optional static typing
- Categories allow developers to adapt existing classes to the requirements of the framework they want to use or create
- Expressive message syntax
- Dynamic run-time of Objective-C allows for dynamically created classes and added methods to existing classes
- Automatic garbage collection feature which targets priority memory zones that are more likely to be garbage
- Because Objective-C is an object-oriented extension of the C language, the C libraries can be accessed directly
- Access to Apple technologies
Disadvantages
- Cross-platform portability is a big disadvantage because Objective-C relies heavily on the Cocoa framework and is not a good choice for developing applications for other platforms besides Apple
- Dynamic typing adds a performance penalty
- It has no namespaces
- Objective-C has no function overloading
- There are no templates available
Components
- Messages
- Interfaces
- Forwarding
- Notes
- Categories
- Garbage collector
- Non-fragile instance variables
Development tools
- Xcode
- Rhodes
- Titanium
- PhoneGap
- DragonFireSDK
- Unity
- Corona SDK
- GNU Compiler Collection