Pythonの活用、代表的なビジネス事例-Google、DropBox、Instagramなど
オープンソースの思想の背景には、ハードウェアやプログラムの設計を無償で提供し、さまざまな個人のプログラマーが自主的に関与して改良していく考え方があります。現在では企業も参画していますが、開発自体を純粋に楽しむ自由な文化が特長といえるでしょう。Linuxも然り、最近注目されているSNSマストドンも然りです。
Pythonもまた、オープンソースによるプログラミング言語です。オブジェクト指向のため直感的な記述が可能であり、ライブラリが充実しています。1991年、オランダ人のプログラマーであるGuido van Rossum氏によって開発されたこの言語は、シンプルを重視した一貫性のある設計思想が背景にあります。
プログラミング教育はもちろん、産業や科学分野でPythonを使って構築されたシステムが稼働しています。Pythonによるビジネス事例、活用できるアプリケーションの一部を挙げます。
Pythonの開発者Guido van Rossum氏は、もとはGoogleの社員でした。2005年に入社してから、勤務時間の半分をPythonの言語開発に使ってよいと許されてきたようです。どれだけ彼が優遇されてきたか、Pythonの将来性をGoogleが重視していたか、それだけでも十分に分かるでしょう。
早い時期からGoogleは、Pythonをオフィシャル言語のように採用してきました。オープンソースのプロジェクトを支援する「Google Code」は2016年1月に閉鎖され、GitHubへの移行を奨励されていますが、ここにもPythonで記述されたものが数多くありました。
Guido van Rossum氏が特に注力したのは、Google の提供するPaaS「Google App Engine」でPHP、Javaなどの主要なプログラム言語に加えて、Pythonを利用できる環境を整備することでした。YouTubeのシステムも大半がPythonで作られているといわれます。
その後、Pythonの生みの親Guido van Rossum氏は、2013年にDropBoxに移籍しました。
DropBox
DropBoxは、プロトタイプの頃からPythonでシステムを構築したスタートアップ企業です。
2013年の「PyCon APAC 2013」でDropBoxのRian Hunter氏は、DropBoxの開発時のエピソードを語っています。およそ125人のエンジニアを編成して、すべてPythonでプログラミングしたそうです。そのコードは、サーバとクライアント関連で合わせて93万7,707行にも及ぶ大規模なものでした。
DropBoxのデスクトップクライアントの開発では、Windows、Mac、LinuxといったあらゆるOSに対応するポータビリティ、少ないリソースで確実にデータを保存すること、高速に動作をさせることが求められました。
したがって、大規模なプラットフォームに依存しないデータ同期コア、各プラットフォーム依存のデータ同期コア、GUIのためのコア、プラットフォーム依存のGUIなどをPythonでプログラムしました。
このときクライアント開発に使ったライブラリは、ネイティブとしてPyWin32・PyObjC・CTypes、UIとしてWxPython・Cocoa・WebKit/HTML、パッケージングとしてpy2exe・py2app・bbfreezeです。
ライブラリが豊富でコミュニティが充実していることは、スタートアップ企業にとって新規ビジネスを立ち上げる強力なサポートになります。開発工数を少なくして、サービスのローンチ(公開)を早めることができるからです。
ファースト・ムーバーズ・アドバンテージ(先行者利益)といわれますが、先手必勝で新たな市場を開拓した企業にビジネスの優位性があります。
写真共有サイトとして人気が高く現在はFacebook傘下にあるInstagramも、基本的にはAmazonのクラウド上でPythonによって構築されました。Webフレームワークには「Django(ジャンゴ)」が使われています。
Djangoは、Pythonで作られた機能が充実したWebフレームワークです。Djangoを利用することにより、クオリティの高いWebアプリケーションを短期間で、かつ少ないコードで作成できます。
Webで新たなビジネスを立ち上げるときに重要なことは、開発期間の短縮化は当然のことながら「実用性の高いシステムを構築すること」でしょう。Djangoを使うとプロトタイプ作成が容易なので、実用性を確認し、プロトタイプを改良することによって安定したデプロイを可能にします。
Instagramは、創業時にはバックエンドの開発経験がない2人の共同経営者によって構築されました。しかし、たちまちユーザーが膨れ上がります。このような急激なスケールアウトに対応できることが、PythonとDjangoの強みです。
3D-CG、CAD関連アプリケーション
CADや3D-CGにもPythonと親和性の高いアプリケーションがあります。
オープンソースのBlenderは、あらかじめPythonで書いたスクリプトや内部のスクリプトをコンソールから呼び出して利用することに加えて、Pythonによるアドオン開発もできます。Shade 3DもPython によるスクリプト制御に対応しています。
Autodesk社のMayaは、Pythonのコマンドを入力する機能を備えているプロ用アプリケーションです。スクリプトエディタを使用する方法や、短いコマンドはコマンドラインに直接入力して実行するなど、Pythonを利用できる環境があります。
新しいビジネスの構築をPythonで
過去の事例を挙げましたが、これからは人工知能のビジネス領域でもPythonによるプログラミングの要望が高まっています。Pythonは注目すべき言語です。
株式会社キャパでは、アプリの企画・開発についてご相談を承っています。
アプリを作りたいので、具体的な提案が欲しい。頭の中にあるアイデアを本当に実現できるのか知りたい。予算内に収まるのか?
などのお客様のご相談に、親身に応じます。
アプリ開発:実績のご紹介