说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

历时一年半 现代Web框架Phoenix 1.0正式发布

HTML文档下载 WORD文档下载 PDF文档下载
近日Phoenix 1.0宣布正式发布,开发过程历时一年半。无论开发APIs、HTML应用,还是服务于本地设备的网络应用,Phoenix 1.0都可提供强有力的支持。目前已有很多公司在产品中使用Phoenix的成功案例。

经过一年半的开发、2500次commit和30多个版本,Phoenix 1.0终于发布啦!无论你要开发APIs、HTML应用,还是服务于本地设备的网络应用,Phoenix 1.0都能为你提供强有力的支持。它用Elixir写成,拥有漂亮的语法、实用的工具和飞快的运行速度。目前已有很多公司在产品中使用 Phoenix的成功案例。

实时网络

一开始,Phoenix致力于创建可及时交互的网站,目标是做到就像在本地终端上一样在网站上实时交互。这个目标通过Channels实现了,通过原文提供的90s的视频你可以了解到它的强大。

Channels给服务器提供了多路复用的连接,来支持交互通信。同时Phoenix抽象了传输层,这样你无需关心用户连接服务的方式。无论是WebSocket、Long-polling还是自定义的连接,使用channel的代码都是一样的。你的代码只要针对一个抽象的“socket”就行了,Phoenix会做好剩下的工作。即使是在服务器集群中,你的信息也可以自动地广播到各个节点。Phoenix的JavaScript客户端也提供了了API,使客户端/服务器通信变得异常简单,就像下面这样:


不仅仅是浏览器

作为一个Web框架,Phoenix的目标是传统的Web应用,但是现在所谓的“web”的概念已经不同以往,框架也需要与时俱进。Phoenix不再局限于浏览器应用,已经可以连接iPhone、Android等其它智能设备。 Justin Schneck、 Eoin Shanaghy、 David Stump使用objC、Swift、C#和Java写了Channel客户端,实现了这个目标。为了展示这个成果,Justin做了一个Demo( 请见原文),展示Apple Watch、iPhone和Web浏览器通过本地Phoenix驱动来进行交互。

短期和长期的生产力

除了高可交互性,Phoenix还具有易用性,使团队能够快速开始,并提高生产效率。但是,软件不是一项短期的工作。Elixir也致力于长期项目的可维护性。Erlang的运行是为运行多年,尽可能减少关机时间的系统设计的,有了这些特性,你部署的系统就会支持自我修复、hot-code上传的特性,支持百万的用户连接。除此之外,Phoenix还支持:

短期可体验到的优势:

  • 通过mix phoenix.new my_app生成项目。
  • 开发中可见实时效果。在任何的模板、view或者asset中做修改可以马上在浏览器中检查效果。
  • 通过Ecto项目整合了Postgres,MySQL,MSSQL和MongoDB资源。
  • 支持资源产生器,像mix phoenix.gen.html User users name:string age:integer来驱动项目中的输入输出。
  • 使用了EEx模板的图层提前编译,加快了响应时间,通常是微秒级的时间。
  • 提供实时交互的Channel。
  • 以及更多特性……

长期可体验到的优势

  • 多个Phoenix应用可以运行在同一个系统进程中,也可以通过umbrella应用将大的应用分割成较小的几个部分,可通过该博文进行深入了解:http://blog.plataformatec.com.br/2015/06/elixir-in-times-of-microservices/。
  • Erlang的OTP可以实时查看正在运行的程序并诊断问题。


新手入门

Phoenix手册可以带你快速入门。如果之前没有接触过Elixir的话,下面是一个锐减的学习资源:

  • Elixir入门手册
  • How I Start: Elixir
  • Elixir Workshop

使用Phoenix将会是一段难忘的经历,让世界为Elixir和Phoenix震惊吧!

反馈

针对现在选择Elixir还是Go的问题,业界有着广泛的讨论。是选择Go的高性能,还是Elixir对长期项目的优势?有人总结了Elixir的优点:

社区:Ruby社区有很多喜欢Elixir的大牛,例如José Valim、Dave Thomas、Bruce Tate、Chris McCord等。

BEAM 和 OTP:Erlang VM和OTP在爱立信已是久经沙场,WhatsApp的百万并发也使它的可靠性得到了证实。

Hex:像Ruby的Rubygems,Elixir/Erlang的包管理软件是Hex,这已经成为了库的官方标准。

Phoenix:Rails让Ruby火了起来,现在,Phoenix正在将历史重现。

语法:从Ruby发展而来,它的语法简单明白,很容易读懂。

有位用Ruby工作了7年的程序员最近换了Elixir和Phoenix的工作,已经三个月了。他说对这个改变很满意——社区很棒,工具无敌好用,开源库的稳定性和性能都很好,年轻的项目尤其优秀。Elixir和Phoenix的未来很明朗!(责编:陈秋歌)

译者简介:赖信涛,关注Python,喜欢编程和电子游戏。个人博客: http://www.kawabangga.com/。

原文链接:Phoenix 1.0—the framework for the modern web just landed


欢迎加入CSDN前端交流群2:465281214,进行前端技术交流。  

也可参加CSDN前端大讲堂(微信公开课),享受高含金量在线公开课,与专家讲师在线切磋交流。

如何加入CSDN前端大讲堂?由于该群目前已超过人数限制,所以您首先不得不 扫描下面二维码,加CSDN编辑陈秋歌为好友,然后请她邀请您加入CSDN前端大讲堂微信群。加好友时,请务必注明“申请加入CSDN前端大讲堂”。


专访Google数据科学家彭晨:大数据成为潮流走近各行各业! 强横Metal技术来袭,能否取代OpenGL? Swift横空出世,Xcode 6 Beta有了哪些新变化? 《近匠》GameMei:简单易用、快速开发商用游戏 Gartner:2014年一季度浪潮服务器出货量中国第一 十万火急,请高手帮忙!!! 菜鸟问题。既然有 ado.net 了为什么还少设计数据访问层呢? 怎样彻底实现office文件只读 关于scrollview视图的刷新问题求教 用递归实现回文不知道这样想是否提高了执行速度请高手点正 一个不明白的错误,如何解决? 感谢cockhorse!!!!!!!! SCJD: 这是怎么回事? 取某一路径下的类似文件名(50) 关于霉菌和霉菌的生长和在哪些物品容易生长 气缸活塞的冲程和曲柄连杆有关系吗 汽缸内的可燃性气体点燃后膨胀对活塞的推力F=110 夏天,鲜肉容易腐败的原因是腐生细菌大量繁殖的结果还 液氮,液氨,常态下是液体吗.能做冷却用吗,应用在哪 填写词语 造句20.填写词语从()而()风()同( 仿造示列造句示列:天上的云,像蜂峦,像河流,像雄师 一带有活塞的密闭气缸内封闭有定量的理想气体,活塞上 用创作造句 尼日尔沙漠一移民车抛锚 现场发现92律师称斯诺登将开始在俄罗斯某大型网站46名中国与印度非法采金者在加纳被捕律师称斯诺登将从11月起在俄大型网站美国曾要求日本修宪 欲促日帮忙越战芒果网金秋送礼 打响旅游争夺战全新RAV4珠海开卖克隆商通卡 卖假卡蒙人男子怀疑房东偷窥自己和妻子 与对方争9月出游 中秋前后俩高峰洪荒之燃灯新传冠军传奇大道修仙网游之风尘江湖帝国雄心安吉旅游丹东旅游乌鲁木齐旅游珠穆朗玛峰旅游长岛旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘