hello waf, hello phoenix
date post
17-Jan-2017Category
Technology
view
1.138download
0
Embed Size (px)
Transcript of hello waf, hello phoenix
PowerPoint
Hello WebApp,Hello Phoenix2016/8/31 tokyo.ex#5
Agenda|> |> Phoenix?|> web?|> web|> Phoenix|> Why |> Why |> Why |> /|> |>
@[email protected]/Elixir/Erlang/Ruby/Lisp/etcElixir: :2/: 1Elixir: 1/v:1.0.0 -> 1.3.1(elixir)Phoenix: 1/v:1.0.0 -> 1.2.0(phoenix)
(Elixir is ? )Web is ? Phoenix is ? WebPhoenixPhoenixWebPhoenix()
PhoenixElixirMVCWebwebchannel/websocket
Web/webEx) wikiblogECetc/
Web(Web)Web
RequestResponse
6
Web
WebWebHTTPWebSocketetcnginxApacheh2ocowboyetcI/FPython: WSGIPerl: PSGIRuby: RackClojure: RingLisp: clackHaskell: WAIScala: SSGIElixir: PlugPython: DjangoPerl: CatalystRuby: RailsClojure: CompojureLisp: caveman2Hskell: YesoldScala: PlayElixir: PhoenixDB/ORMPython: -Perl: -Ruby: ActiveRecordClojure: java.jdbcLisp: CLSQL/CL-DBIHskell: HDBCScala: SlickElixir: Ecto
Web
WebController
RouterActionModel
Bussiness LogicDatabaseView
TemplateDB driverORMWAF I/FControllerModelViewPushMVCPush
Phoenix
cowboyEndpointModel
DatabaseView
TemplateEctoPlugViewRouterControllerPipelinePlug.ConnPlug.Conn/plugplug:Plug.ConnPlug.Connfunction)
endpoint
router/pipeline
controller
Why
cowboyEndpointModel
DatabaseView
TemplateEctoPlugViewRouterControllerPipeline(accept)Erlang(,OS)Phoenixcowboy/ranchPhoenixcowboy/plug + OSHeavy
Phoenix
cowboyEndpointModel
DatabaseView
TemplateEctoPlugViewRouterControllerPipelinefunction)View:html/json/etc/renderTemplate:+Elixir//etceexcompile
Why
cowboyEndpointModel
DatabaseView
TemplateEctoPlugViewRouterControllerPipelinefunction)compileLinked List()()WAFElixir
view/template
Phoenix
cowboyEndpointModel
DatabaseView
TemplateEctoPlugViewRouterControllerPipelineErlang VM
Why
cowboyEndpointModel
DatabaseView
TemplateEctoPlugViewRouterControllerPipelineOSErlangVMOTPcowboyEctoPhoenixplug
etc
/
//mix/
//mixMVC: web:Input: web/staticOutput: privbrunch.io()
Elixir
Elixir http://www.modulecounts.com
/
/
WebPhoenixPhoenix ElixirElixir