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

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


DownloadManager下载管理类2.3新增API介绍 Android平台上的11个感应器你都知道吗 Android 2.3中的java.io.File类新增功能 更轻松的获取APK文件安装时间 Android控件对应表,丰富你的UI设计 Android开发进阶之NIO非阻塞包(八) Android开发进阶之NIO非阻塞包(七) Android开发进阶之NIO非阻塞包(六) Android开发进阶之NIO非阻塞包(五) Android开发进阶之NIO非阻塞包(四) Android开发进阶之NIO非阻塞包(三) Android开发进阶之NIO非阻塞包(二) Android开发进阶之NIO非阻塞包(一) Android开发进阶教程系列(一)目录篇 Android开发调试工具TraceView多图演示 Android JNI实例代码(二) Android JNI实例代码(一) Android JNI开发高级篇 Android NDK开发技巧二 Android JNI开发进阶篇 Android JNI开发提高篇 Android JNI开发入门篇 Android NDK开发技巧一 Android数据库ContentProvider封装原理 Android Permission列表,ADT 0.9.9 bug Android Theme和Styles内部定义解析 Android平台下图表绘制相关方法 Activity类的runOnUiThread方法你用过吗 Android上鲜为人知的UI控件介绍和使用 获取Android手机上的图片和视频缩略图 Android JSON解析示例代码 屏蔽控件某个事件 使用MicroSoft DTSPackage Object Library开发的问题 逃离爱情 [原创] 如何动态使用web service 自动递增的字段数据类型,是否应该设置成number? 寻电子商务领域合作-购买源码或合作开发 讨论:如何用WinSock API 的异步选择模型(WSAAsyncSelect模型)构建一个多连接的服务器? 如何删除一个服务,如:OracleOraHome81TNSListeneroral;谢谢!!! 请问各位软件是如何控制硬件的? 如何判断输入的字符串长度? 能否以命令方式启动win2000 请问如何判断字符串中的字符在a~z之间 如何在jsp调用windows下的程序执行.就是IE当shell.(有点像黑客:) 不是用来干坏事 高手呀,能告诉我怎么把OLE drag&drop过程中的图元格式改成增强图元格式? 哪位有http下载的源程序(或下载地址),C++的。。。 哪位大侠有制作均衡器的资料和代码,是否有相关控件?在线急等,先谢谢了 dbgrid焦点问题。 如何识别客户端浏览器是不是腾讯浏览器? 怎么样得到上个月最后一天的天数 关于图片显示的问题? 一个应该很简单的问题!散分了! sybase12安装后sybase server启动不起来,服务启动没有问题 请问oracle JDBC 中classes12.jar、classes12_g.jar、classes12dms.jar这三者有什么区别? ( 召唤HTML编辑控件(ActiveX) 为什么没有遍历所有文件和目录?哪位可以帮忙调试一下。 请问如何再java里面执行oracle数据库指令如;exp,imp等等 高分求助!关于触发器。来者有分!在线等待! 工作累了﹖沒有精神﹖來我這里喝一杯吧﹐ Ghost2001如何备份win2000系统 工作累了﹖沒有精神﹖來我這里喝一杯吧 关于图像缩放求援? 各位老大!有没有用C#写的浏览器的程序? 请问如何再java里面执行oracle数据库指令如;exp,imp等等 C#调用C++写的动态链接库中函数的问题! dns的转发项是灰色,说是根服务器,怎么办? 求助!如何实现鼠标移动Image控件 无法终止程序, 条件判断出问题 ,奇怪 为什么对象释放出错? 在FormDestroy中释放对象时出现 'Invalid pointer operation'的错误。 MDI子窗体在MDI父窗体内不能显示的问题,希望高手指点!!! 小问题,高手行!!! JSP 关于中文乱码 哪位高手请提供下面题目的源代码, 急!!! 【求助】DELPHI中ADO连接DBF库超过256K就显示不出数据? 菜鸟问题 asp调用WORD的问题 安装oracle8.0.5时的小问题 Win2k & WinXP 桌面全空 弱问题,关于SIZEOF 服务器生成的图片发到客户端打印效果不理想,如何解决? IIS的站点一启动就会占用所有IP。如何解决? 如何连接两个数据源 《I‘m yours》歌词? 区别love、lover、lovely、loving. 以“早”为话题的作文 我们曾经唱过:“太阳当空照,花儿对我想,小鸟说早早早,你为什么背上小书包.”鲁迅曾经以“早”为座右铭激励自己.古人曾经说过:一年之计在于春,一日之计在于晨 主题与系统有什么区别主题与系统有什么区别 到底是怎么搞的啊! 什么ANNA主题 ANNA系统 是不是一样的啊 求语文形容词描写景物的,比如袅娜、斑驳等 I wait for you found me!谁能帮我翻译下. 生物学中motif和domain有什么区别RT 脑筋急转弯!love是动词是名词是形容词? 以早为话题的作文字不用太多,能交差就行 明天就要报道了 鲁迅曾以早:“早”为座右铭激励自己古人曾经说过:一年之计在于春,一日之计在于晨,黑发不知勤学早白首方悔读书迟.还有人说 求德语句子在und前的整个句子的中文理解.Ich kann Stress im Büro abends im Fitnessstudio abarbeiten und bin dann morgens wieder voll da. 爱是名词还是动词? I have to wait for me不对,我女朋友说不对啊,帮我查查, 求德语halten vor的中文理解.求句子的中文理解.Es gibt in jeder Beziehung Probleme,aber der Trauschein hält dich davor zurück,die Flinte allzu schnell ins Korn zu werfen,auch dann,wenn es mal nicht so toll läuft.每种关系 爱是动词还是名词 wait me还是wait for me?哪个用法是对的 偏正短语:①定语+中心语(名词) ②状语+中心语(形容词/动词) 举成语例子各十个 英语翻译※请帮忙将下面10句德文翻译为中文※严请勿利用翻译软体直翻,请懂点德文文法的帮帮忙,1.Am 17.01.20..haben wir Müllcontaner bestellt und um Lieferung bis zum 18.03.20..gebeten.2.Unsere Bestellung vom 20..- I'm waiting for you,I'm waiting for you,waiting for you kiss me. motif 怎么翻译? 爱,是动词还是名词? 要背景不要字,背景上写《热烈欢迎总局领导莅临指导》谢谢大侠们 明早要啊 motif 和 domain的区别是什么?motif 和 domain 区别是什么? “爱”是名词还是动词 “莅临指导”的第一个字读什么? motive和intention有什么区别?都是名词.都是意图,目的. 英语翻译好像有点答非所问哦,我的意思是谁把BMW翻译为宝马的,我觉得很生动很贴切,呵呵 广告设计中净空是什么意思 内容如下:“热烈欢迎兴飞客户莅临指导!” 规格:净空:45*60CM,红底黑字 净空是什么 意思 love后面加单数还是复数 动词变名词有哪些变化?比如加-tion never 第三人称后面的动词要不要加s 翻译中文:I like to send text messages,and talk with my friends. Do you know the kid with__ Bob is talking over there.请问怎么翻译?陈述结构是怎样? 以‘谨慎’为话题的作文800字 当Love作名词时,如何变为复数型态. 速度怎么造句 以认真为话题的作文,具有真实性 老师,练习做某事是practise/practice doing sth 是哪一个句型? love是单数,loves是复数吗? 德语,关于gehen fahren的用法两者分别是什么时候用啊,有什么异同用法 这句德语中的man的用法及相关问题Lu Ming arbeitet oft in der Bibliothek. Dort trifft man viele Freunde.前半句知道,后半句不太懂,不知道怎么去理解,尤其是语序.请不吝赐教. 语文里形容词的排列顺序以下两个句子,哪个正确?1.我们要寻找有效的治疗疾病的方法2.我们要寻找治疗疾病的有效的方法非常感谢! 集合名词后的动词需要但三变化么? 英语翻译Buenos días parar todos,Buenos días para mí,Hoy me siento muy alegreHoy me siento muy feliz.Buenos días parar todos,Buenos días para mí,La canción de los saludosHa venido por aquí.Buenos días,buenos días¿Qué tal,ha dormi 当遇到多个形容词时,在英语中有专门规定的排列顺序,那么在语文中呢? have to 和 must的区别及用法上 关关雎鸠,在河之州.窈窕淑女,君子好逑 的赏析 只要1段,快, 语文形容词的排列顺序是怎样的?如数词,形容外形的adj等如何排列 have to和must的用法有区别么?如果有区别,请分别举个例子来说明. 所有的动词都有第三人称单数吗RT 带ING的形容词与动词ING形式做伴随状语如何区分 “一般现在时表示”(英语中的哦) put...into...造句这个词 动词ing作状语动词的ing形式作状语时不是表示主动进行吗?但是,当Having done作状语的时候怎么表示进行?Having done不是表示动作发生在谓语动词前面吗?又怎么能够表示进行?不是很矛盾吗? 急!进来帮我造句!速度!最好快点!用下列词语分别造句!``记住啊!`是分别哦!``就是分开造句!``选四个词语造句!`而且是分别!`分开造句!`同仇敌忾 临危不惧 勇往直前 前仆后继 力挽狂澜 中流砥 put ..into...造句,be ready to THE,THERE,OVER,WITH,HE,GIRLS,IS怎么排顺序谢谢了, 请问which that when why who 引导的宾语从句后面请问以上这些引导词,在以后的运用过程中形式都有何不同啊?比如,which 引导的宾语从句,请问,which前后的时态必须要统一吗?还有,which后面的内容的 I\'m yours怎么读 1.The girls are singing over there.改为疑问句:What( )the girls ( )over there?2.Today is July 24th为疑问句:( )the ( )today?3.The classroomis nice.改为感叹句:( )( )nice classroom!4.I like collecting stamps and singing.改为否定 宾语从句where ,which ,that ,when 怎么用
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘