I'm a software engineer with 10 years experience in application development, having worked with Web (Perl, PHP, JavaScript, JSP, Servlets, Flash, ASP), Enterprise (Java EE) and Mobile software (Symbian C++, Java ME, Flash Lite, Python). Currently working as Forum Nokia Technology Expert with many exciting technologies.
Check my blog for more articles and fun stuff: http://rawsocket.org
dcrocha | 03 June, 2008 18:49
The comic above pretty much sums it up: Python is a refreshing look at the world of programming. Being so easy to learn and use, it has gained lots of attention from the developer community and it's used for several different purposes such as: web development, desktop apps, utilities, scientific computing, scripting language for games and special effects software, flying and of course mobile development. In fact, I am very surprised that it took so long before any mobile platform offered Python as a viable software creation vehicle.
In our platforms, Python is offered as a runtime option for S60 devices, ranging from 2nd. to 3rd Edition and all their feature packs. That makes it pretty wide reaching platform, since we have some 130 million+ devices in the market for which you can write Python applications.
The core technologies for mobile development have been analyzed here before: C++ is the raw power of Symbian OS available to developers, with its immense API and functionality sets but steep learning curve; Java is easy to learn and use and it's present in more than a billion devices. Its functionality is good but restricted by the Java Community Process since all APIs have to be agreeded upon by participants of each JSR spec.
Python comes in the middle, and that's in my view its main advantage: it is as easy as Java but (almost) as powerful as C++, and not limited by any industry standard processes: you want a Flying API which is not available? Just create an extension and you're good to go. Our good friend and Forum Nokia Champion Pankaj Nathani (a.k.a. croozeus) has in his website a great list of resources for Python development, including how-to's on writing extensions and more: http://croozeus.googlepages.com/py60extensions. Also, if you are the kind of developer who likes to hack around, Python for S60 runtime is open source, so you can spend your days and nights hunting bugs, adding new features and creating your own version of it!
First part of this article: Which technology should I use for development? Round 1: Java
Second part of this article: Which technology should I use for development? Round 2: C++
Technology: Python for S60
Good for:
Why?
Bad for:
Why?
Python brings back the fun of hacking your device the way you want, with just a few lines of code. It's also a powerful tool for fast development of applications and utilities, besides being ideal for rapid prototyping of more complex software. The learning curve is smooth, the API set is big, and the support of open source community gives it a large set of libraries you can use in your application. As it's still in an incipient phase in the mobile software development, you can use it and contribute for its evolution in the next releases, making it a sweet platform for innovation on S60.
If you are interested in learning more, there's a ton of resources on PyS60 in Forum Nokia web site and also in its wiki page. For impatient people who can't wait to try it, I have posted a few months back a complete presentation on how to get started with Python, along with a collection of sample source code; both can be found here.
Happy hacking!
<a href="http://technorati.com/claim/ymg32hejh6" rel="me">Technorati Profile</a>
General, Business Opportunities/Services, Entertainment, Games, Location Based Services, Python, S60 |
Permalink |
Comments (7) |
Trackbacks (0)