CodeWarrior Eases Writing Of Symbian Apps By C++ Developers
CodeWarrior Development Studio is one of the most respected development environments in the wireless space. The software's stability and feature set allow C++ developers to easily write applications for Symbian platforms. In addition to application development, CodeWarrior is used in the complete engineering life cycle of smart phones. What's more, CodeWarrior 3.0 follows all new Symbian architectures and SDKs supported by smart phone manufacturers, so developers can create applications for almost every smart phone on the market.
Like other major IDEs, CodeWarrior's development features provide a layer of abstraction to help developers focus on the language and not the target platform. Symbian also offers high-level services for memory management, hardware interfaces and external input/output. When these features are combined, they hide most of Symbian's complexity and provide developers with easy-to-follow development standards that can lower the learning curve.
Even though the learning curve is eased, Symbian has a unique way of handling projects and files, so input/output routines and project setups do take time to learn. The operating system also handles integers and many other strings differently than other operating systems. To ease development, Symbian provides descriptors to abstract its unique methods of handling numbers and strings. Descriptor classes encapsulate most of the proprietary functionality and provide an interface for the C++ language, which is a subset of ANSI C++. Developers must follow threading guidelines unique to the operating system.
Standard C++ features such as Try-Catch methods are disabled in Symbian. Exception handling is done with traps, which is not part of C++ but rather a method provided by the operating system. CodeWarrior manages the proprietary code by combining the operating system's core API with the language, so object code is formed properly during a code binding process.
In addition, different manufacturers can add a proprietary API layer on top of the Symbian operating system unique to each phone. While each UI is different to accommodate various screen sizes and input methods, the C++ code in CodeWarrior is similar across each SDK. Developers and manufacturers must follow coding standards to allow newer APIs to work on top of older versions.
Even though code is backward-compatible, not all key features can be incorporated into newer code, even within the same phone series. Because wireless phone technology is always changing, developers must continuously upgrade SDKs as a platform evolves. While coding standards and backward-compatibility help promote reusability, new APIs unique to a series can disrupt code designed for multiple generations. Developers must be aware of each generation and the APIs unique to them.
Testing code with CodeWarrior is a lot different from debugging Intel-based C++, since Symbian developers run emulators that target specific phones. The emulators operate wherever CodeWarrior is installed and provide most of the functionality to a target platform. However, emulators cannot completely simulate a real environment, so developers should also run applications in debug mode using CodeWarrior's powerful debugger. Code executes in realtime at the same time the debugger tracks it. Nokia's technical group provides information on SDKs and operating system support, so CodeWarrior arrives with extensive documentation of all operating system content of topic-specific help for each SDK.
CodeWarrior is now provided through Forum Nokia's Web site. Developers and partners can also obtain information on engineering solutions and participate in technical discussions. The forum provides SDKs for all current platforms and product lines. Whitepapers, sample code, technical tips and FAQs are also available. Developers can track the latest bugs and technical issues across all Nokia SDKs. Technical and sales support is handled by Nokia. Because the acquisition of Metrowerks' CodeWarrior for Symbian OS is still ongoing, Nokia has not developed a separate channel program, but it is in the works. CodeWarrior is priced at $1,771.