Based on Eclipse
The key distinguishing factor of Carbide.c++ is that it's based on Eclipse
, the open developer platform for building software development kits for a variety of purposes. Unlike Carbide's predecessor, which was built as a series of tools that were loosely connected to Microsoft Visual Studio, Carbide.c++ is built atop Eclipse, and includes over a hundred Eclipse plug-ins to facilitate development for Series 60.
Like any Eclipse environment, the environment includes mechanisms for maintaining your project, a group of related source files that make up your application. Within Eclipse you can edit source files, perform builds, and do all of the other IDE-based activities you'd expect from any modern environment. The editor itself is equally full-featured, with support for keyword and syntax coloring, project-wide search, and shortcuts to help identify the correct Symbian interface as you're coding.
The plug-ins, provided by Sybian, Nokia, and CodeWarrior, include support for base Symbian development, replacing the plethora of command-line utilities for managing build configurations, Application Information Files (AIF), and Multiple Bitmap (MBM) files, and so on. Nokia also provides plug-ins for Series 60 and UIQ development, and although it's not obvious to end developers, the support for building and testing applications is actually organized as a set of plug-ins, too.
Working with Wizards
Symbian developmentand thus, by extension, Series 60 developmentis a framework-based process. Unlike other platforms like Palm and BREW, in which when you start you face a blank page in which you write code, much of what you do in developing code for Symbian is to subclass and extend existing classes in C++. Some tool chains for Symbian programmingnotably those provided by CodeWarrior or Borland on retail basisprovided wizards that automated much of this process. Carbide.c++ includes the same capability, with wizards for creating both S60 and UIQ applications, and then within those wizards, specific kinds of applications such as control-, dialog-, or view-based applications.
With the wizard, once you choose the kind of application you're building, you choose the appropriate SDK against which you will be building your application. This in itself is a welcome relief; gone are the days of playing with environment variables trying to coerce an application to build against a different SDK version!
Once you select an SDK, the wizard prompts you with additional questions to fine-tune the project you've created. Once complete you can edit the freshly created C files to begin writing your application.