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

历时一年半 现代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前端大讲堂”。


API管理的五大规则 Google也节能:挖角美能源部Arun Majumdar博士 预测:云计算领域的5大变革 CTO俱乐部:移动信息化的创新实践及互联网创业 核心组图曝光:BlackBerry 10明年1月30日发布 “蛐蛐儿”创始人朱连兴:音频二维码的技术实现和应用场景 信恩科技创始人林兴陆:QR Code二维码的前世今生 2012移动开发工具盘点:傻瓜式游戏工具引擎 《福布斯》发布年度“未来之星” 扎克伯格上榜 Cloudera透露Impala发行版新功能及开源计划 Nokia落寞身影下 三星成为全球最大手机厂商 乐视网CTO:智能电视,一个诱人的议题 SeatGeek:Web设计师如何转型iOS开发? IE10支持HTML5标准拖放 IBM IT实践达人赛24强出炉 决赛圈比拼创新实践力 [简讯] Perl迎来25岁生日 软件开发者最重要的四大技能 为什么说惠普、戴尔和IBM在互联网发展中站错队 升级iOS 6还得看Google Maps 2012移动开发工具盘点:16大跨平台游戏引擎 GitHub Web游戏开发竞赛 获奖榜单出炉 Dart里程碑2发布 大幅提升dart2js性能 To Facebook:HTML5不好用?是你不会用! AWS推快照备份服务抵御宕机风险 靠谱吗? 微软品鉴会秀Windows 8电脑 上百款新设备年末上市 甩开外包,雄踞榜首:揭开“宫爆老奶奶”成功的秘密 IBM收购大数据公司StoredIQ 推动大数据传输能力 令人意外:前Windows部门总裁将去哈佛教书 舒迅:产品经理必读的九步法 独家爆料:Facebook移动客户端开发揭秘 一个独立开发者的自白:我如何在一年赚得60万美元 很幼稚的问题...(肯定给分) 看书发现的两个概念性问题,可能很简单,请说的详细一点!多谢帮忙! 用UDL连接数据库的问题???奇怪 哪位老兄有修改网卡mac地址的冬冬? 高分寻找:*.mp3转*.rm的软件。 为什么不能执行?高手请进! Access导入到SQL,可以导入ID字段的吗? 头疼的问题!!!!!!!! 还记得那首老歌吗? 如何获得窗口任意位置的被选文本 先有编译器还是先有语言? 怎样使StringGrid中的某一列不可见? 如何遍历select下拉菜单中的内容,并显示在另一个select菜单中?(在线等待) 请高手指教:怎么创建动态链接库,怎么用动态链接库,我是一个初学者,唯有的50分全送出去请教此问题 有谁能帮我?我用OpenDialog找开数据库文件,只能打开一次。再次打开或打开另一个数据库文件,就会地址出错,why? 转让书刊 this->GetParent()->ShouWindow(SW_MIN..)最小化以后,却不能点击任务条还原,怎样还原 JBuilder如何产生Make文件? 如何使listbox的两列显示对齐? 如何在自己的主页中添加代码??用来污染IE的,到底是加在哪个位置??//最好写具体些!!! 关于图片存入数据库的问题 请教大量二进制数据在内存中的存放(马上给分) 讨论:有关tomcat的解释顺序的问题. TechnoFantasy 请近来,还有100分哦:) 打印问题 强烈建议在文档中心增加C++ BUILD!!! 对于同一个SOCKET,能否起多个线程同时读、写呢?如何实现? ??!!!有急事相求 谁知道如何在自己的程序中建立象IIS那样的meta-database数据库结构? 怎样在数据库连接关闭后读出数据? 你知道扩展名为img是什么文件吗? 请问如何在Delphi中实现 AutoComplete(自动完成) 的功能?急!急!急! 请教一下在MDI的程序中pmyView->GetParent()->GetParent()->..... 都得到了什么?? 好奇怪的初始化问题。 一个RANDOMACCESSFILE的问题 急急急!!!VB中如何 实现多行删除表中数据???? 有关注册表的问题 ASP中用ADO连接SQL Server2000的连接字符串怎么写? 在画布上怎么实现滚动条 急~~~如何从文件中取值赋给动态数组?~~~~在线等待 到哪里能够下载 BCB6 Update 请问关于REDHAT下关于安装MYSQL 的问题 请问关于REDHAT下关于安装MYSQL 的问题 CreateFolder("name") 问题 name是变量怎么办???? 急!!! 如何做像 http://www.my0807.com/1.gif 的文字。。 请教真正的高手。 如何用TURBOC 2.0编程检测WINDOWS是否已在运行中? VS.NET能专Windows98中安装吗? 如何创建一个imagelist,用CImageList,可以记录24位色的位图 这个关于树的问题我越想越想不通,请手指点指点:) 用winsock控件设置client/server程序时,server端应怎样设置,请各位大虾帮帮小弟!!谢了! iphone5怎么会有这个?我的iphone5上没有这个符号 细菌的芽孢对于细菌的意义 It is()nice day,is not it?Yes.What()fine weather!A.a;a B.the;the c.a;不填 D.the;不填 十分之一加五十分之二加五十分之三加.加五十分之23加五十分之24等于多少?(用简便方法算) 细菌是怎样变成芽孢的?细菌的那一部分变厚 It’s ( )nice day,isn’it?Yes,what( )fine weather!该选那个?A the; the B a; the C \ ;the D the; ﹨ (x+3y-2z)^2等于多少? 芽孢和细菌的区别?芽孢是什么?麻烦各位把知识点说的简单些…… -It is a lovely day ,isnot it?-Yes ,I love _when the weather is like thisA this B that C it D one 220V的电器能否用250V的电器?我有个 电磁炉 吃220V的电的,我那有个多余的插座,二极管 只要摸到 火线就能 亮了,可能超过250V吧,我空调用那个的.我也不知道是多少V的,只知道在 双相下接的 单相 细菌的芽孢是在哪里形成的? 朝鲜这个词的的含义是什么听说是:说法1.晨起之下,宁静的国度.说法2.是朱元璋起的,好像是“朝日鲜明”的意思. 250v电器可以使用220v吗 细胞核中能够被碱性染料染成深色的物质叫做什么啊? 好像韩国朝鲜字 今天的朝鲜对中国有何战略意义? 国有经济的含义 这里有几个韩国或者朝鲜文字我不认识请各位认识的帮我解答一下告诉我怎么读什么意思谢啦 250V的电线插头接到额定电压是220V的电器上 能行不? 谁能告诉我“国有经济、公有经济、私有经济、混合所有制经济、非国有制经济”到底什么意思,他们什么关系不要政治术语,通俗一点啊!因为百度搜索的我也看了, 朝鲜的朝鲜字怎么写 220V~的电饭煲使用250V~的电线可以吗? 什么是国有经济?其地位和作用是什么? 一个平行四边形广告牌的面积是12.2平方米,底是5分之17,高是多少?用方程解, 计算 (x+3y-2z)(x-3y+2z)2 (a+b+c-2)(a+b-c+2) 优化和完善国有经济的发展有何意义 一个平行四边形广告牌的面积是1.25平方米 它的底是16分之15米 高是多少米? 计算:(x-3y-2z)*(x+3y-2z)=? 帮帮忙. 朝鲜顶部气候是什么? 用一块底15分米,高12分米的平行四边形塑料板,做两个和他等底等高de三角形广告牌,每个广告牌面积是多少 计算(X+3Y+2X)(-X-3y-2Z)计算(X+3Y+2X)(-X-3y-2Z)计算(X+3Y+2X)(-X-3y-2Z)计算(X+3Y+2X)(-X-3y-2Z)计算(X+3Y+2X)(-X-3y-2Z)计算(X+3Y+2X)(-X-3y-2Z)计算(X+3Y+2X)(-X-3y-2Z)计算(X+3Y+2X)(-X-3y-2Z)计算(X+3Y+2X)(-X-3y-2Z)计算(X+3Y+2X)(-X-3y-2Z) 气候.我国的河北省和朝鲜和日本的本州岛气候相同,但特征有河大差异,主要表现为?气候.我国的河北省和朝鲜和日本的本州岛气候相同,但这三地的特征有很大的差异,主要表现为__________________ 一块平行四边形的广告牌,周长是196分米,两条边上的高分别是6分米和8分米,怎样求这块广告牌的面积? 南朝鲜国旗什么意思? 日本朝鲜中国气候比较从日本到朝鲜再到中国北京,就是40纬度的气候特征表现为由 到 的过度 有一块底4分米高2.5分米的平行四边形木板做成长方形的的广告牌怎么求周长和面积 插座上写5A-16A 250V是最大功率多少啊? 为什么朝鲜是亚热带气候 一个数除以3佘2,除以4余3,除以5佘4,这个数最小是多少? 多种家电在同一个多用插座上同时开启使用,为什么会使连接插座的电线显著发热? 一个平行四边形的高是底的三倍,高是2.7分米,它的面积是()平方厘米 下列实验中所使用的染色剂和现象正确的是A 利用甲基绿和吡罗红混合染色剂可同时观察线粒体和叶绿体B 利用醋酸洋红和碘液可以分别鉴定蛋白质和淀粉C 利用甲基绿和吡罗红混合染色剂可 如何看待劣币驱逐良币现象 为什么DNA能被碱性染料染色? 一个平行四边形,它的两条底边分别是8厘米和5厘米,平行四边形的一条高是6厘米,面积是()A;48平方厘米B 30平方厘米 C 48平方厘米或30平方厘米 什么是“劣币驱逐良币”效应,说说这种效应是怎样出现的?“ DNA用EB染料染色后为什么能在紫外线下发光? 关于台酚蓝台酚蓝能用于鉴别细胞的活性,活细胞会被染色.我说的是台酚蓝,不是台盼蓝,生物竞赛中的一个选项! 哪中货币制度会出现"劣币驱逐良币"现象? 观察DNA的实验中 常用碱性染色剂都有哪些? 右图中,乙的面积是48平方厘米,正好占平行四边形面积的5分之一,甲的面积是( )平方厘米.现在就需要 (x-3y+2z)(x+3y-2z) 盐酸有利于DNA与染色剂结合?“盐酸有利于DNA与染色剂结合”,为什么不说成“盐酸有利于DNA\RNA与染色剂结合”?既然是有利的,为什么盐酸处理后一定还要漂洗呢? 苔酚蓝染色法的步骤是什么?如题 (x+3y-2z)^2 DNA与RNA的染色剂是什么 ⑶ 一个梯形的上底是6厘米,下底是10厘米,高是0.4分米,它的面积是( )平方厘米.⑷ 一个平行四边形的底注意单位?上下底都是厘米,高是分米。面积是平方厘米 (x-3y+2z)²= 用数学归纳法证明,1+2+3+……+n^2=(n^4+n^2)/2时,则n=k+1时的左端应在n=k时的左端加上…… 台盼蓝染色剂为什么可以区分死去的细胞?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘