Wiley.Developing.Software.for.Symbian.OS.2nd.Edition.Dec.2007 (779887), страница 8
Текст из файла (страница 8)
They represent the three main Symbian vendor software platforms mentioned inChapter 1: S60, UIQ, and Series 80.S60•S60 Platform 1st Edition supports Nokia N-Gage, 3660, 3650, 3620,and 3600 as well as Siemens SX1 and Sendo X smartphones, whichare based on Symbian OS v6.1.•S60 Platform 2nd Edition has a basic version that supports the Nokia6600 smartphone, which is based on Symbian OS v7.0s.Enhanced versions of this SDK are available, containing additional ‘Feature Packs’ to support phones based on Symbian OS versions later thanv7.0s.
At the time of writing, three such versions are available:–Feature Pack 1 adds support for Symbian OS v7.0s enhanced,used, for example, on the Nokia 3230, 6670, and 6260, andPanasonic X700 and X800 smartphones.–Feature Pack 2 provides support for Symbian OS v8.0, used on theNokia 6630 and 6680/1/2, and Lenovo P930 smartphones.–Feature Pack 3 supports the Nokia N70 and N90 smartphones,which are based on Symbian OS v8.1.• The S60 3rd Edition SDK supports Symbian OS v9.1-based phonesincluding the Nokia N77, E61i, and E65. A Feature Pack 1 also existsthat supports Symbian OS v9.2 and phones including the Nokia N95.All S60 SDKs are available for download from the Forum Nokia website(http://www.forum.nokia.com).UIQ•At the time of this writing, four UIQ SDKs exist:–UIQ 3.1WHAT DO YOU NEED TO GET STARTED?27Supports Symbian OS v9.2 UIQ 3.1 devices including the MotorolaMOTORIZR Z8 smartphone.–UIQ 3.0Supports Symbian OS v9.1 UIQ 3.0 devices including the SonyEricsson W950, P990, P1, and M600 smartphones.–UIQ 2.1Supports Symbian OS v7.0 UIQ 2.1-based devices including theP900, P910, BenQ P30, and Arima U308 smartphones.–UIQ 2.0Supports Symbian OS v7.0 UIQ 2.0-based Sony Ericsson P800smartphone.The UIQ 3.0 and 3.1 SDKs are available for download from the UIQdeveloper website (http://developer.uiq.com).
Earlier SDKs can be downloaded from Symbian or the handset manufacturer in question. Seehttp://developer.uiq.com/forum/entry.jspa?externalID=31 for links tothe appropriate download locations.Series 80•9200 Communicator SDK (Series 80) supports Nokia 9200 Communicator series smartphones, which are based on Symbian OSv6.0.•Series 80 Platform 2.0 supports the Symbian OS v7.0s-based Nokia9500 Communicator.2.1.5 Getting a Windows Development PackageThe Symbian OS SDK contains all that’s needed for building applicationsoftware for a smartphone device. It also contains the PC-based emulator;however, in order to build and debug software for the emulator, youneed a supported Windows development package containing the toolsneeded to produce emulator executables. The recommended Windowsdevelopment package at this time is Carbide.c++.
At the time of writing,you can download the free Express version of Carbide.c++ version 1.2from Forum Nokia (http://www.forum.nokia.com/carbide) and beginusing it right away.A Windows development package typically provides a source codeeditor, GUI-based building and debugging tools, and sometimes projectmanagement features or additional software tools. With an SDK alone,you will only be able to build for and load straight to your smartphone,and will have very limited debug support (normally via log files or printingmessages to the screen), command line only tools, and no source codeeditor.28SYMBIAN OS QUICK START2.1.6 More on Carbide.c++Nokia introduced Carbide.c++ as an IDE for Symbian OS developmentin 2005. Before that, the Symbian OS development package choiceswere Microsoft Visual Studio 6 and Microsoft Visual Studio 2003 .NET,Metrowerks CodeWarrior 3.1, and Borland C++ Builder X – and supportfor these varied based on the particular Symbian OS SDK you used.
Youcan still use these development systems (again, with support dependingon the SDK); however, Carbide.c++ provides the best support across thewidest range of SDKs, as well as all the newer ones. Carbide.c++ containsan advanced set of features for Symbian OS development and is the onethat will be supported and enhanced going forward.Carbide.c++ is based on Eclipse, which is an open source projectoriginated by IBM in 2001. The purpose of the Eclipse project is toprovide a full-featured integrated development environment along with aframework for extending this environment. Eclipse provides extendibilityvia a plug-in framework so that the IDE can be customized to work fordifferent development environments, or simply enhanced with featuresprovided by third-party developers. This ability provides the end userwith common Eclipse IDE functionality (editors, debuggers, build errorhandling, etc.), yet also with the various configurations and featuresspecifically needed for a particular target environment.Eclipse is written in Java; however, the development platforms createdaround Eclipse can and do support languages besides Java.
Eclipse isbecoming a de facto standard for integrated development environments.Nokia selected Eclipse for its development platform due to its open andextensible nature. In this way, Carbide.c++ can leverage the open sourcecommunity for the best in the common IDE features, yet still be able tocreate and maintain Symbian OS specific development functionality.At the time of writing, Carbide.c++ only supports SDKs that have theWINSCW Nokia x86 build target.
If you need to use an SDK that doesnot have WINSCW, then you will need to use one of the IDEs mentionedas supported in the SDK information (e.g., Microsoft Visual Studio 6 orBorland C++ Builder X).At the time of writing, Carbide.c++ comes in the following differenteditions for Symbian OS C++ development. For more information onCarbide.c++, and the complete feature set of each version, reference thehttp://www.forum.nokia.com/carbide website:Carbide.c++ ExpressThis is a free download for non-commercial developers (i.e., you cannotsell applications you develop using it).
It is ideal for beginner Symbianprogrammers who later decide to upgrade to one of the commercialeditions if needed. Carbide.c++ Express contains everything you need forbuilding and debugging (on emulator) applications.WHAT DO YOU NEED TO GET STARTED?29Carbide.c++ DeveloperCarbide.c++ Developer has some significant additions from the Expressversion, including a graphical UI designer and on-device debugging.Furthermore, the license for this and the Professional edition allowsyou to develop commercial software with it. Unlike the Express versionthough, the Developer and Professional versions are not free.Carbide.c++ ProfessionalCarbide.c++ Professional is for advanced developers at the device andsystem level.
This edition contains added features such as advancedsystem-level performance profiling as well as system-level on-devicedebugging in addition to the Developer edition features.Carbide.c++ OEMThis edition contains additional support for developers working withinphone manufacturer teams, such as tools to create ROMs and support forJTAG debugging.2.1.7 Carbide.vsCarbide.vs is a plug-in to Visual Studio 2003 .NET, which providesthat IDE with Symbian OS development capability including wizards forbuilding Symbian OS applications. This could be a good option for you ifyou have Visual Studio 2003 .NET already and feel comfortable with thisIDE.
The Carbide.vs product is a free download, and unlike the Expressedition, you can develop applications on it for commercial use. Note,however, that support going forward on Symbian OS development willlikely be better with Carbide.c++.Suggestions While InstallingWant something productive to do while waiting for your developmenttools to download and install? Here are a few suggestions.•Bookmark the following websites for fast reference:–Symbian Developer Network (http://developer.symbian.com/).This site contains a wealth of information related to Symbian OSdevelopment. It includes articles and white papers, as well asforums and information on training classes, Symbian Academyand Symbian Press.–Forum Nokia (http://forum.nokia.com/) if you are doing S60development. This site contains a lot of information on Symbian OS and Nokia S60, including articles and white papers,e-learning, example code, and developer tools.30SYMBIAN OS QUICK START–Sony Ericsson Developer World (http://developer.sonyericsson.com/site/global/home/p home.jsp) if you are doing UIQdevelopment.
This site has similar information to the ForumNokia site, except with emphasis on Sony Ericsson devicesbuilt on UIQ.–MotoDev (http://developer.motorola.com/) for additional information if you are creating applications for Motorola phones,such as the MOTORIZR Z8, based on UIQ 3.–UIQ Developer Community (http://developer.uiq.com) formore information about UIQ 3 development.–NewLC (http://www.newlc.com) – this is a good independentsite that contains lots of information related to Symbian OSdevelopment.• Visit the Symbian Signed website.If you are developing Symbian OS software for distribution, thenthere is a good chance you will want (or even need) access tothe Symbian Signed website to submit your software to be SymbianSigned. The Symbian Signed process is covered in Chapter 7.
Fornow, while you are waiting for your installation to complete, go tohttp://www.symbiansigned.com for more information.•Read the Symbian OS Essentials Booklets.These booklets are found on the Symbian Developer Network athttp://developer.symbian.com/main/learning/press/essential/. Theyare an excellent source for beginner Symbian OS programmers onsome selected key subjects, and a good supplement to this book. Newbooklets are printed regularly, and if you have a topic you’d like tosee covered by the Essentials Series, please send your suggestion toeditor@symbian.com.2.1.8 Is Windows the Only Development Operating SystemSupported?The rest of this book will assume that you are using a Windows development tool since, at the time of writing, the only official support forSymbian OS development is for a PC running Microsoft Windows.
However, there are efforts to change this, and GNUPoc is a good example.FIRING UP THE DEVELOPMENT TOOLS31The site http://www.gnuPoc.sourceforge.net provides patch downloadsso you can update various Symbian SDKs for use on Linux. The toolsrequired to build for the smartphone device run natively on Linux; however, Windows emulation (via WINE) is required when building for andrunning the Symbian OS emulator.Providing native Symbian OS emulator support to other operatingsystems (without needing Windows emulation) will require an effort bySymbian since the source code for the Symbian OS emulator is not opento the public.If you’re a Mac OS X user and don’t have a PC, you may not need tobuy one to develop software on Symbian OS.