SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Nitrogen Erlang のウェブフレームワーク ダオ ゴック タン 2009/4/15
特徴 ,[object Object],[object Object],[object Object],[object Object],[object Object]
ソースコード http://github.com/rklophaus/nitrogen/graphs/languages Shell :少ない JavaScript :〜 Erlang
イベント・モデル Button1 Button2 ( JavaScript の イベント ) 通信: Ajax/Comet データ: JSON (リスポンス、 Comet のイベント) 通信: Ajax/Comet データ: JSON コード: JavaScript ブラウザ側 サーバー側 Button3 データ検証 データバインディング UI アップデート UI アニメーション効果 ドラグ&ドロップ … http://voodootikigod.com/2008/10/02/ajax-head-design-pattern/ View Controller
流れ ウェブサーバー (Inets/Mochiweb/Yaws) wf_inets:do/wf_mochiweb:loop/wf_yaws:out PageModule = wf_platform:route(URL) URL が /web/blogs -> PageModule が web_blogs になる リクエストを処理するプロセスの dictionary をリセット (1 リクエスト ->  1 処理プロセス ) PageModule:main PageModule:event(EventTag) wf_platform:build_response dictionary にあるものからリスポンスを生成 フレームワーク P ostback リクエスト (Ajax/Comet) 普通 リクエスト アプリケーション: wf : xxx 関数を呼び出す wf : xxx 関数が dictionary にコンテンツや header などをセットする リクエスト リスポンス
wf モジュル wf_utils 文字列のフォマット wf_platform サーバータイプに依存するもの: cookie など wf_session セッションの管理 wf_bind データバインディング wf_path HTML エレメントの id の生成 wf_convert HTML エンコードなど wf_render HTML 、 JavaScript の生成 wf_comet wf 他のモジュルに delegate する …
活動 ,[object Object],[object Object],[object Object]
ソースコードのコミット
http://github.com/rklophaus/nitrogen/graphs/impact
問題点 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Ähnlich wie Nitrogen Web Framework

マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
Akira Inoue
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Akira Inoue
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
david9142
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
Akira Inoue
 

Ähnlich wie Nitrogen Web Framework (20)

マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
 
マイクロソフトにとってのWebって?
マイクロソフトにとってのWebって?マイクロソフトにとってのWebって?
マイクロソフトにとってのWebって?
 
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.next
 
Kilimanjaro Event
Kilimanjaro EventKilimanjaro Event
Kilimanjaro Event
 
Devtools.next
Devtools.nextDevtools.next
Devtools.next
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
 
Edge と IE、来年からの Web 制作
Edge と IE、来年からの Web 制作Edge と IE、来年からの Web 制作
Edge と IE、来年からの Web 制作
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
 
Web on Kernel
Web on KernelWeb on Kernel
Web on Kernel
 
20100218
2010021820100218
20100218
 
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
 
Mvc conf session_3_takehara
Mvc conf session_3_takeharaMvc conf session_3_takehara
Mvc conf session_3_takehara
 
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
 
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
 
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
 
Windows Azure ではじめる Windows ストアアプリ開発
Windows Azure ではじめる Windows ストアアプリ開発Windows Azure ではじめる Windows ストアアプリ開発
Windows Azure ではじめる Windows ストアアプリ開発
 
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
 

Mehr von Ngoc Dao

Actor-based concurrency and Akka Fundamentals
Actor-based concurrency and Akka FundamentalsActor-based concurrency and Akka Fundamentals
Actor-based concurrency and Akka Fundamentals
Ngoc Dao
 
Xitrum HOWTOs
Xitrum HOWTOsXitrum HOWTOs
Xitrum HOWTOs
Ngoc Dao
 
Xitrum @ Scala Conference in Japan 2013
Xitrum @ Scala Conference in Japan 2013Xitrum @ Scala Conference in Japan 2013
Xitrum @ Scala Conference in Japan 2013
Ngoc Dao
 
SockJS Intro
SockJS IntroSockJS Intro
SockJS Intro
Ngoc Dao
 
Easy distributed load test with Tsung
Easy distributed load test with TsungEasy distributed load test with Tsung
Easy distributed load test with Tsung
Ngoc Dao
 
How to start using Scala
How to start using ScalaHow to start using Scala
How to start using Scala
Ngoc Dao
 
Xitrum internals
Xitrum internalsXitrum internals
Xitrum internals
Ngoc Dao
 
Nhập môn BDD
Nhập môn BDDNhập môn BDD
Nhập môn BDD
Ngoc Dao
 

Mehr von Ngoc Dao (20)

Model with actors and implement with Akka
Model with actors and implement with AkkaModel with actors and implement with Akka
Model with actors and implement with Akka
 
I18nize Scala programs à la gettext
I18nize Scala programs à la gettextI18nize Scala programs à la gettext
I18nize Scala programs à la gettext
 
Develop realtime web with Scala and Xitrum
Develop realtime web with Scala and XitrumDevelop realtime web with Scala and Xitrum
Develop realtime web with Scala and Xitrum
 
BIG DATA サービス と ツール
BIG DATA サービス と ツールBIG DATA サービス と ツール
BIG DATA サービス と ツール
 
How to write a web framework
How to write a web frameworkHow to write a web framework
How to write a web framework
 
Xitrum @ Scala Matsuri Tokyo 2014
Xitrum @ Scala Matsuri Tokyo 2014Xitrum @ Scala Matsuri Tokyo 2014
Xitrum @ Scala Matsuri Tokyo 2014
 
Actor-based concurrency and Akka Fundamentals
Actor-based concurrency and Akka FundamentalsActor-based concurrency and Akka Fundamentals
Actor-based concurrency and Akka Fundamentals
 
Xitrum HOWTOs
Xitrum HOWTOsXitrum HOWTOs
Xitrum HOWTOs
 
Xitrum @ Scala Conference in Japan 2013
Xitrum @ Scala Conference in Japan 2013Xitrum @ Scala Conference in Japan 2013
Xitrum @ Scala Conference in Japan 2013
 
SockJS Intro
SockJS IntroSockJS Intro
SockJS Intro
 
Easy distributed load test with Tsung
Easy distributed load test with TsungEasy distributed load test with Tsung
Easy distributed load test with Tsung
 
How to start using Scala
How to start using ScalaHow to start using Scala
How to start using Scala
 
Xitrum internals
Xitrum internalsXitrum internals
Xitrum internals
 
Những lỗi bảo mật web thường gặp ở phần application
Những lỗi bảo mật web thường gặp ở phần applicationNhững lỗi bảo mật web thường gặp ở phần application
Những lỗi bảo mật web thường gặp ở phần application
 
スポイトができるまで
スポイトができるまでスポイトができるまで
スポイトができるまで
 
Nhập môn BDD
Nhập môn BDDNhập môn BDD
Nhập môn BDD
 
何でRuby
何でRuby何でRuby
何でRuby
 
Sinh hoat CLB tin hoc Komaba lan 2 - Phat bieu cua Ngoc
Sinh hoat CLB tin hoc Komaba lan 2 - Phat bieu cua NgocSinh hoat CLB tin hoc Komaba lan 2 - Phat bieu cua Ngoc
Sinh hoat CLB tin hoc Komaba lan 2 - Phat bieu cua Ngoc
 
Sinh hoat CLB tin hoc Komaba lan 1 - Phat bieu cua G
Sinh hoat CLB tin hoc Komaba lan 1 - Phat bieu cua GSinh hoat CLB tin hoc Komaba lan 1 - Phat bieu cua G
Sinh hoat CLB tin hoc Komaba lan 1 - Phat bieu cua G
 
Sinh hoat CLB tin hoc Komaba lan 1 - Phat bieu cua Ngoc
Sinh hoat CLB tin hoc Komaba lan 1 - Phat bieu cua NgocSinh hoat CLB tin hoc Komaba lan 1 - Phat bieu cua Ngoc
Sinh hoat CLB tin hoc Komaba lan 1 - Phat bieu cua Ngoc
 

Nitrogen Web Framework

  • 1. Nitrogen Erlang のウェブフレームワーク ダオ ゴック タン 2009/4/15
  • 2.
  • 4. イベント・モデル Button1 Button2 ( JavaScript の イベント ) 通信: Ajax/Comet データ: JSON (リスポンス、 Comet のイベント) 通信: Ajax/Comet データ: JSON コード: JavaScript ブラウザ側 サーバー側 Button3 データ検証 データバインディング UI アップデート UI アニメーション効果 ドラグ&ドロップ … http://voodootikigod.com/2008/10/02/ajax-head-design-pattern/ View Controller
  • 5. 流れ ウェブサーバー (Inets/Mochiweb/Yaws) wf_inets:do/wf_mochiweb:loop/wf_yaws:out PageModule = wf_platform:route(URL) URL が /web/blogs -> PageModule が web_blogs になる リクエストを処理するプロセスの dictionary をリセット (1 リクエスト -> 1 処理プロセス ) PageModule:main PageModule:event(EventTag) wf_platform:build_response dictionary にあるものからリスポンスを生成 フレームワーク P ostback リクエスト (Ajax/Comet) 普通 リクエスト アプリケーション: wf : xxx 関数を呼び出す wf : xxx 関数が dictionary にコンテンツや header などをセットする リクエスト リスポンス
  • 6. wf モジュル wf_utils 文字列のフォマット wf_platform サーバータイプに依存するもの: cookie など wf_session セッションの管理 wf_bind データバインディング wf_path HTML エレメントの id の生成 wf_convert HTML エンコードなど wf_render HTML 、 JavaScript の生成 wf_comet wf 他のモジュルに delegate する …
  • 7.
  • 10.