Open Source Web Development Tutorials - Dev Shed
PyS60でモバイルプログラミング!
(2008/12/09公開)
PyS60を使ってPythonでモバイルプログラミング:はじめに
もはや、スマートフォンは日常の一部です。スマートフォンがスマートたるゆえんは、プログラム可能であることです。それはつまり、モバイルデバイス用にカスタムアプリケーションを開発し、デバイスで使用できるということです。この記事では、Pythonの移植版でこのようなアプリケーションを開発する方法の基本について解説します。
CやJavaからPerlやRubyまで、ほとんどの言語では、スマートフォンにアクセスしてサービスを作成するAPIが提供されています。とはいえ、現在のところPythonで提供されているものが、開発が簡単で最も柔軟といえるでしょう。Symbianは、スマートフォンで使用される最も一般的なOSです。Symbianに移植されたPythonはPyS60と呼ばれています。
この記事では、PyS60の基本を中心に解説します。最初の2つのセクションでは、「PyS60とは?」という質問に回答します。3番目のセクションでは、PyS60アプリケーションの開発と導入の手順について詳しく説明します。最後のセクションでは、実践的なアプリケーションを作成します。
PyS60とは?
PyS60(Python for S60バージョンとも呼ばれます)はPythonの移植版で、NokiaによりSymbian OS用にリリースされ、N60シリーズのモバイル機器を対象としています。PyS60で提供されているライブラリは、大きく2つのカテゴリに分けられます。
1.組み込みライブラリ
2.動的にロード可能なライブラリ
PyS60は、本質的には標準Pythonの拡張機能なので、Python for S60拡張機能とも呼ばれています。このため、これらのカテゴリは、組み込み拡張機能、動的にロード可能な拡張機能とも呼ばれます。以下で、これらの詳細について説明しましょう。
組み込みライブラリ(拡張機能)は、PyS60で利用可能な2つのネーティブC++拡張機能のうちの1つです。これらのライブラリは、Symbian 60(S60)プラットホームへの(専用ではない)APIを提供します。組み込み拡張機能は、e32とappuifwという2つのモジュールにさらに分かれます。
e32モジュールは、標準Pythonライブラリでは利用できないサービスへのアクセスに使われます。このモジュールは本質的に、S60のプラットホームサービスへのアクセスを可能にするため、Pythonインタープリタ上に構築されたものです。このようなサービスには、タイマサービス(Ao_timerクラス)、システム情報(sysinfoモジュールとそのクラス)、ドライブの一覧(drive_listメソッド)などがあります。
開発者はappuifwモジュールを使って、S60プラットホームのUI要素に関連するAPIへアクセスできます。主要なUI要素には、テキスト、リストボックス、キャンバスなどがあります。これらの要素を使い、GUIをウィンドウの一部や画面自体の一部として構築できます。要素やコントロールがウィンドウの一部なら、そのウィンドウがコンテナとなります。
Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.








