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

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


$.cookie(name)-JQuery API $.cookie(name, value, options)-JQuery API height()-JQuery API innerHeight()-JQuery API innerWidth()-JQuery API offset()-JQuery API outerHeight()-JQuery API outerWidth()-JQuery API scrollLeft()-JQuery API scrollTop()-JQuery API width()-JQuery API ajaxForm(object)-JQuery API ajaxSubmit(object)-JQuery API clearForm()-JQuery API clearInputs()-JQuery API fieldSerialize(true)-JQuery API fieldValue(successful)-JQuery API formSerialize(true)-JQuery API formToArray(true)-JQuery API resetForm()-JQuery API $.recallDroppables()-JQuery API $.SortSerialize()-JQuery API Draggable(hash)-JQuery API DraggableDestroy()-JQuery API Droppable(options)-JQuery API DroppableDestroy()-JQuery API Sortable(options)-JQuery API SortableAddItem(elem)-JQuery API $.meta.setType(type, name)-JQuery API data()-JQuery API disableTab(position)-JQuery API 我想自己实现类似任务栏样的功能,如何实现 关于unsigned类型 怎样还原数据库??? 紧急求助,在线等待,问题解决,送分200 关于搜索的一个问题,分不够再加! 用PRO做为服务器与用SERVER做服务器有什么不同? JAVA手机的效率问题 满分求助,网络传输碰到问题 做过通过wavecom gprs模块用AT指令发中文短信的同志帮帮忙 请问如何在网关处获取用户上网的信息? 为什么操作word出现重载“SaveAs"方法未获取16参数 HttpURLConnection中如何得到http://www.sina.com.cn后面的缺省文件名 小问题:关于MAC地址 在WINDOWS2000 ,开始菜单中的 "运行(RUN)" 在系统中是什么样的文件???? 急!! OleContainer 问题:为什么用olecontainer打开word文档速度非常慢,有没有解决的办法,多谢! 请问哪里有ASP+ACCESS 的邮件列表代表下载? dbgrid选中的问题?在线及等!!!!! 各地软件工程学院的学生都写写自己在学校学习的经历和体会! adobeacrobat 耗尽内存 如何解决 ! 新手求助:ADOQUERY控件的问题 文件与下拉列表 真搞不懂 关于办公系统及美术设计问题 API 局部放大函数 版主为什么删除我的帖子? 浏览器对象模型与文档模板(DOM)有什么不同和联系? 在datalist或datagrid中绑定的checkbox如何控制呢? 我的xp系统中ABC输入法,词组记忆功能始终不能用,请问怎么解决。 如何编程打开一些特殊窗口?如网上邻居,我的电脑属性,设备管理器 请教又一ShellListView和ShellTreeView中的问题?还望大家多多指教! 不懂!不懂!不懂!关于文档和视图。 将照片从数据库中取出,并显示到Image控件中,若当中不用文件作为临时存储行不行?? 弹出菜单怎么做 关于存储过程执行的正误判断及数据回滚问题。 关于LPCWSTR的问题? TChart的Canvas写上字后,最小化再最大化后字就没了, [2]请大家无论如何都要帮个忙,oralce存储过程性能问题,高手请进!!! 请问如何直接取得其它计算机的系统时间 如何使的 Form2 在 Form1 的 Top ? 怎样在pagecontrol的一个tabsheet中的页面加一个上下的滚动条 急!将textbox控件放入table中后无法通过controls获得textbox的id? 大家说说看!! 初来乍到,向各位学习,请大家指点一下,介绍些好的C#的WEB源码示例。 请大家帮我看看! weblogic发布servlet的问题 Fatal Error 的问题 哪里有和手机一样的笔划输入法下载. 哥哥们,问题还没有搞定,帮帮忙吧,很急呀,分不够可以加分 XDevClub.Com[X时代开发俱乐部]欢迎大家一起来讨论,来者有分 求救!!我的vc缺少一个 psapi.h 头文件!!!急用,帮忙粘贴一下,当场给分!!! 怎样更改CListCtrl中内嵌的CHeadCtrl控件的风格? 硝酸氨能分解吗?如果能分解,分解生成什么? 精工手表秒针会停怎么办 盐类是否都可以和酸反应, 如何除去铁粉和银丝表面氧化物 硅酸钠与重金属离子会怎样反应? 化学中哪些是盐类哪些是碱类 水葫芦可以放在室内吗? 硅酸钠可以吸收什么气体 化学里的酸类,碱类,盐类怎么区分拜托各位了 3Q化学里的酸类,碱类,盐类怎么区分, 硝酸氨的分解方程式SOS 硅酸钠的离子式可拆吗 氯气会与无水乙醇反应或溶于无水乙醇吗? 水池里面的水葫芦怎么养 机械手表秒针的运动!机械手表秒针的运动可以看做匀速运动.秒针的角速度为w为多少rad/s?如果秒针长1cm,则秒针的线速度为多少m/s? 乙醇易溶于水,甲醚不溶于水?甲醚不溶于水? 将铁片放入下列溶液充分反映后,反应后溶液的质量(不包括固体)比反应前减轻的是溶液有CuSO4,H2SO4,HCL,ZNSO4 我的机械手表怎么秒针不走了~急 1质量为20g的子弹,以300m/s的速度水平射入厚度是10mm的钢板,射穿后的速度是100m子弹受到的平均阻力是多大? 过程 罗马帝国分裂为东西两个帝国是在什么时候 【化学】850℃时为什么Na能将KCl中的K置换出来金属活动顺序表中K在Na之前,为什么在熔融状态下有如下方程式:KCl+Na====NaCl+K(条件:850℃)是否与金属活动顺序表矛盾? 乳胶枕的作用是什么?想先知道下. 罗马帝国是什么时候分裂成东西的?具体在哪一年,两个帝国分别维持了多少年? NO会与NaOH反应吗? 乳胶枕有什么作用?想先试试. 哪一年罗马帝国分裂为东西俩个部分 NO和NaOH可以反应么写出方程式,thanks! 三氧化二铁与氯化铵的反应中,当生成2.24L氯气(标准状况下)时,发生转移的电子数目是多少? 罗马帝国为什么分裂成东西两个罗马 最后是被谁彻底消灭的? 氟投入氯化钠溶液中的现象HF能和NaCl反映吗 为什么七彩圆盘转起来就能看见白光?没一楼回答的那么简单~貌似与速度\视觉有关的 罗马帝国分裂为东西两个帝国和西欧封建社会各有什么关系不能太长, 苯能过滤吗 影响碳的核磁共振谱和质子核磁共振谱化学位移因素 实验时为了除去铁丝和银丝表面的氧化物或污物,其操作是? 硝酸氨为什么易分解?如题 除了小苏打和醋还有没有不可逆的混合物.马上要 金垫中胶体金标记的抗体释放不够,这是什么原因,我该怎么办? 无负压供水设备需要装水池吗?听说水池容易产生污染. pm2.5口罩能起过滤作用吗?还是没用呢? 为了除去铁丝和隐私表面的氧化物或污物,可以采取哪些方法? 不需要建水池的供水设备什么类型的好? 无菌注射器大小0. 官能团是什么? 男士石英手表哪个牌子好 氢氧化铜能不能与氯气反应?如果能,氯离子的化合价是多少,反应方程式是什莫? 水是生命之源.如何才能更合理的使用水呢?请把你的看法写下来 镓在化合物中只有一种化合价,相对原子质量为70,其氧化物相对分子质量为188,则磷酸镓的相对分子质量为? 常温下PH=7,铁离子在溶液中为什么不能存在?那亚铁离子呢?它能存在吗? 一定条件下硝酸氨受热分解的方程式是5NH4NO3=2HNO3+4N2+9H2O,在反应中被氧化与被还原的N原子数之比? 金属镓在化学物相对原子质量为70,其氧化物相对分子质量188.磷酸镓的相对分子质量是 发泡机,发泡机特点,发泡机事项 要使冰马上变成水, 某元素A在化合物中只有一种化合价,相对原子质量是70,其氧化物相对分子质量为188,则A元素与氯元素形成的化合物的化学式为A AClB ACl2C ACl3D A2Cl3为什么 发泡机技术,发泡机产量,发泡机操作 硝酸氨分解得氨气和水.硝酸氨分解得氨气和水.硝酸氨分解得氨气和水.在二十三度,95549.5帕下,用排水取气法收集到57.5立方厘米氮气,已知水的饱和蒸汽压为2813.1帕,则干燥氮气的体积为?坐等, 如何去除地面砖上凝固了的水玻璃?用水玻璃堵地砖缝,地砖上残留好多水玻璃,已经凝固,非常难去除,特来此请教高人应该怎么办.我看了一下瓶子上写的成份为“硅酸钠”,应该属于碱性吗?不 化学中如何区别盐类和碱和酸,主要说明下怎样的化合物才是盐类? 水资源保护的目的是() a、恢复地下水的状态b、减少人类对水的开发c、促进更合理的方法d、开发和利用海水 我的精工手表秒针经常停,到底是什么问题呢? 亚硫酸盐都能与酸反应吗?还有那些盐类与酸反应 印度反对派竞选集会遭袭 死亡人数上升今秋首次暴风强势登陆法国 数万户家庭日本赛马失控与轿车相撞当场丧生 司机美媒:部分美联储官员主张制定债券“退埃及再发军警遇袭事件 三名警察执勤时前三季度宁波灰霾天数达81天 复合污津巴布韦一架波音737客机引擎着火后外交部:联合国人权理事会通过中国接受日本新一代消防车设计图出炉 神似机动韩国军方网络司令部涉嫌干预大选 防长调查显示日本半数国民反对《特定秘密保澳洲85岁志愿者因慈善工作获得“默多埃及再发军警遇袭事件 三名警察执勤时日本赛马失控与轿车相撞当场丧生 司机希腊经济危机使国内中产阶级损失惨重(美国多名政客支持监听行为 称总统不必以色列耄耋作家展望巴以和平并存 遭官澳媒称澳政府拟摒弃前任政府对亚洲战略报告称全美国一年有500名少年儿童死阿根廷执政党保住国会最大党地位 但选加拿大婚外情网站欲进驻新加坡 遭民众格鲁吉亚最高检察官传唤格前总统接受询市场求变,在这里女性是主场纪委派出40名“挑刺工”暗访政府部门用整合高中挽救困境中的中职教育2014年全国少数民族大学生暑期实习“懒人”如何成高考赢家要玩车,更要做公益三家民营银行获准筹建上饶职院:“高铁班”特色培养激活学院质监局的证,花钱就能买帮人帮到底“航空飞镖”“甲午殇·中国梦”主题实践营举办上市公司频遇“有偿沉默” 如何破解中超卫冕冠军用胜利减压图片新闻法国启动应急机制处理空难 初步排除恐人民币离岸市场面临四大挑战河北启动中职与普通本科分段培养试点西安外事学院 创业学院托起创业型人才“月宫一号”总设计师:释放天性后才知
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘