Opa - Cloud Language

1,057 views

Published on

The presentation for nichicom Lightning Talk on 2011-09-16
Author SOHGA Co. Ltd. TANAKA Tozo

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,057
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Opa - Cloud Language

  1. 1. クラウド言語へようこそ  2011/09/16 nichicom-LT  SOHGA Co. Ltd. Tozo TANAKA 
  2. 2. Opaでこんなん作られてます ● リアルタイム共有お絵かき http://canvas.opalang.org/ ● ゲーム(ポーカー) https://mlstate.com/pages/products/opa_poker ● CMS https://github.com/mattgu74/OpaCms ● Wiki https://github.com/venator/OpaWikiなどなど…http://opalang.org/see.xmlt
  3. 3. 特徴 1/3http://opalang.org/ ● Webサーバ、DBMS、CGI、PG言語、セキュリティ強化、負荷分散.. を一人で全部こなす (Apache + MySQL + RoR + GAE + αみたいな感じ)
  4. 4. 特徴 2/3● コマンド一発でスケールアウト ○ 単体起動 ./test.exe ○ クラウド起動 ./opa-cloud test.exe --host localhost --host me@myserver1 ...
  5. 5. 特徴 3/3● ヒアドキュメント的な手軽さでスクリプトとHTMLを同居● おフランス製。構文もフランス発祥のOCamelに類似 broadcast(author) =    do Network.broadcast({~author text=Dom.get_value(#entry)}, room)    Dom.clear_value(#entry) start() =    author = Random.string(8)    <div id=#header><div id=#logo></></>    <div id=#conversation onready={_ -> Network.add_callback(user_update, room)}></>    <div id=#footer>       <input id=#entry onnewline={_ -> broadcast(author)} />       <div class="button" onclick={_ -> broadcast(author)}>Post</>    </> server = Server.one_page_bundle("Chat", [@static_resource_directory("resources")],        ["resources/css.css"], start)
  6. 6. 得意分野 ● 単機能大量アクセス →twitter、チャット、SNSなど ○ 分散Webアプリ対応 → Scalable ○ 全部入り → Simple, Secure ○ コンパイル型 → Speedyフロントエンドにもバックエンドにも。
  7. 7. 歴史● 2010年 限定公開● 2011年 オープンソース(Affero GPL)としてリリース● 開発元:MLstate ○ 2007年パリイノベーショングランプリ2007ファイナリスト ○ 2008年フランス省庁による研究賞受賞 ○ 2010年フランスで最も急成長している2000社に選出● 各種メディア報道 ○ InfoWorld, infoQ, Lambda The Ultimate, SlashDot,  Hacker News, OS News, WebAppers, i-Programmer, Morgan Hill
  8. 8. 環境● 公式サポートはMacOSX, Linux(Ubuntu, Debian) 現在64bit版のみ。32bit版は開発中。Windows版も開発中。 他のLinuxディストリビューションもライブラリを入れれば概ね動く。● 対象CPUはAMD64。 よってx86のWindows+VMwareではインストール失敗。。
  9. 9. Hellow, world! まで 1/2● さくらのVPSを契約 (無料期間2週間) カスタムOSインストールでUbuntu 10.04 amd64を導入● 関連ライブラリのインストール apt-get install libssl-dev zlib1g-dev libjpeg62 libgif4● Ubuntu binaryのDL wget http://download.opalang.org/ubuntu/opa_1.0s3.5%2Bbuild569_amd64.stable.deb● Opaのインストール dpkg -i opa_1.0s3.5+build569_amd64.stable.deb
  10. 10. Hellow, world! まで 2/2● コーディング hello.opa server = one_page_server("Hello", -> <>Hello, world!</>)● コンパイル opa hello.opa● 実行(localhost:8080 で待機) ./hello.exeちなみに…26行のソースとCSSだけで、そこそこのチャットサービスが作れます。
  11. 11. 最後に● 使えるか? →最適化されたソリューションとしては有用。  条件のシビアな案件なら選択肢になりうる。● 流行るか? →たぶん主流にはならない。  今のところ日本語ドキュメント皆無だし。● 今やるメリットは? →日本でエバンジェリストになれるwさぁ、先駆者になってOpa本の印税GETだ! :)

×