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

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


王淮,大城小胖论辩HTML5 局部有小雨 技术人员创业后就不再适合继续编码了? Google Dremel vs Apache Hadoop 低功耗之争:英特尔 VS ARM NEIC-诺基亚体验创新中心 助力开发者创享新移动互联时代 Google地图主管Daniel Graf:新设计,新目标 浴火重生:OpenFeint创始人推开源平台OpenKit 紧随AWS数据仓库服务 Rackspace力鼎Cloudant 创业者谈:畏惧失败,但也要拥抱失败 谷歌赢得一场战斗 苹果能否赢得战争? 走进大学校园:是什么让学生成为独立开发者? 移动周报:为什么说独立开发者才是光明康途? MapFan eye:看日本地图导航应用的新玩法 数据会被清空:部分三星、魅族手机存安全漏洞 IE10简化文件访问 支持FileReader API 从MySQL迁移到MariaSQL Wikipedia力求开放 奥巴马筹款网站的制作过程 国内芯片厂商发力4G 新岸线2013年将推LTE方案 CMDN Club 23期:开放平台和O2O移动产品开发 花旗调低Apple股票评级 不信iPhone5会卖得好 2012年Linux Journal读者选择奖结果公布 百度云SiteApp:三步轻松创建移动网站 Twitter跨数据中心图片存储系统Blobstore解析 摩托罗拉携手中国移动发布Intel Inside智能机新锋丽i MT788 第五届“英特尔杯”全国大学生软件创新大赛圆满落幕 Appro推出液冷超级计算机 Dell:曾敦促微软WinRT放弃Windows品牌 IE10十大优点:渲染页面比Chrome快8% 法国电信:开放平台下的O2O移动产品怎么玩? 客如云创始人彭雷:寻找O2O“失落的半圆” 中国电信宋鹏飞:天翼开放平台的服务及架构解析 考过scjp的进去看一眼 请问DTD是不是将要为XML Schema所代替???现在主要哪一个呢? XiaoFang(奇奇) 你在哪里,十分感谢,再送100分! 关于输入框中输入空字符串的判断 zork(我是一条鱼……) 说明白些呀,用http代理怎么上qq? HK的书店 求教:关于CRC校验的问题 问题:有关查询结果排序. 为什么我用的是LoadString函数而编译显示错误时显示LoadStringW函数。两个有什么区别? 请问这个错误提示是什么意思呢?谢谢! OCI中的类型转换 麻烦大家看看下面的代码对吗?能否用MSChart显示MSHFlexGrid中指定的行(上下)和列(左右),谢谢谢谢 如何用vector做一个二维数组。如int a[4][4]的。该怎么做 仰天长笑,号称CSDN(“中国”软件开发网),却。。。 鼠标移出当前窗口时显示MessageBox如何做? 操作系统为solaris如何配置才能上internet网? 大虾留步! 根据日期查询数据库的问题(当天结账)急! 请问怎么去打开一个SQL SERVER的数据库,求救 怎样修改注册表? 如何把程序编译为只有一个EXE的文件?(对不起,我的分发光了!) OCP 试题之一 EhLib里TDBGridEh控件的SaveBookmark方法有何作用? 编程不需要创新,我同意 有一个朋友向我要类描述的rose表示的例子,我已经做好了,并上传到下面的网址上 福州的程序员请进................ 如何执行一个*.txt文档中的语句? 怎么在一个button被点击时,播放一段声音呢? OCP 试题之二 怎么用jb5创建一个corba工程? 怎么才能让程序永远在最前面 送分 请问乙肝表面抗原阳性(最最轻的那种,不是小三阳),进外企要不要?作公务员要不要紧?谢谢 怎么样才能处理像VB中的TREEVIEW中的NODECLICK的事件? 我想了解一下国内有多少公司用rose ASP500错误该怎么处理呢?新手请高手赐教!!本人在IIS的根目录下面访问HTM不会出现错误,但是在根目录下面建了虚拟路径有就出现了500错误。为什么? 每一个开发人员都应该拥有的东西 老问题:如何获得鼠标IBEAM的Handle? 用GetCursor()只能获得当前鼠标的Handle. 请问有法律高手在吗?急需要帮助,谢谢。 OCP 试题之三 请问乙肝表面抗原阳性(最最轻的那种,不是小三阳),进外企要不要?作公务员要不要紧 ?谢谢 请教:如何修改ICON? 高分寻求关于vc和mapinfo结合的资料!一定给分!! 怎么我在IE上提供的word文档下载,当点击左键时会打开执行而不能下载, 我公司招聘 做个小调查:做OA用Microsoft的做和用Lotus的做,工资大概各是多少?觉得哪个更难学? 请高手赐教,'ASP 0156 : 80004005' 是什么错误? 在MDI的主窗口CLOSE事件中,返回什么值才能使窗口不会被关闭? 老问题了一直没解决,speechSDK5.1做的程序怎样发布呢? 救命阿?? VC和SQLserver2000可以连么???如何连??????????????? matlab解线性方程f(x)为一元多次方程,题目为y=f(x),在已知y值(不为零)的基础上求x的值.我会建立方程,也能画出图,但是不知道如何求X.solve命令似乎用不来,fzero能用,但是求的是y=0时x的值,这 求大神解释这段matlab程序,我基础不是很好,希望能够帮助我,clear alln=99; T=6; t=0:2*pi/(n-1):2*T*pi; N=length(t);fs=1/(n-1);x1=4*sin(t); y1=4*sin(t+pi/6); x=awgn(x1,20); y=awgn(y1,0.001);x2=awgn(x1./4,-3); subplot(311),plot(t,x)su 成语之最-最宝贵的话语 Matlab a\b 求解线性方程的解用a\b 求解线性方程ax=b的解 如果无解 如[2 1; 1 2; 1 1]\[4;5;4](实际上 b(3)=3才有解 x=1 y=2)但是却算出来[1.0909; 2.0909] 这是为什么?事实上 两个未知数 三个方程 注定 哪位大神详细的解释一下matlab中的一段程序function s = getspline(x)N = length(x);p = findpeaks(x);s = spline([0 p N+1],[0 x(p) 0],1:N); 成语之最:最昂贵的稿费 最贵的话语 最宝贵的时间 最长的腿要成语,不是的别来 用2,3,4和小数点一共能组成多少个一位小数 A.6 B.4用2,3,4和小数点一共能组成多少个一位小数 A.6 B.4 C.18 for k=1:mktmp=cputime;for i=1:sfor j=1:s% 计算邻居中每种状态的个数cnt1=0;cnt2=0;cnt3=0;if i-1>0&&j-1>0cnt1=cnt1+state1(i-1,j-1);cnt2=cnt2+state2(i-1,j-1);cnt3=cnt3+state3(i-1,j-1);endif i-1>0&&j+1 根据意思写成语之最:最好的作品—— 最无奈的事情—— 最大的浪费—— 最吝啬的人—— 最宝贵的话——最符合情理的事—— 感恩父母作文以感恩为主题 ,还要有内容.2010年3月15日到17日结束.OK 用matlab写程序解答,在冷却过程中,物体的温度在任何时刻变化的速率大致正比于它的温度与周围介质温度之差,这一结论称为牛顿冷却定律,该定律同样用于加热过程.一个煮硬了的鸡蛋有98 ,将 我要求一篇感恩父母为演讲稿的文章,本月23号就要的,内容是教育员工学会知恩,感恩.报恩,从而用自己的勤奋工作,回报社会,回报亲人,回报公司,回报所有帮助过自己的人,营造良好工作与生活 填空题:( )言 ( )语:用恶毒的话骂人或用凶狠的语气说话. 初学matlab,出现问题,求大神指导!自定义函数dcir,如下: function [x1,y1,x2,y2]=dcir(a1,b1,a2,b2) a3=(a1+a2)/2; b3=(b1+b2)/2; eq1=(c1-a1)^2 几道用方程解决的应用题,1,某停车场中共有三轮农用车、四轮中巴车和六轮大卡车44辆,各种轮子共有171个.已知四轮中巴车比六轮大卡车的2倍少1辆,在这个停车场中共有多少辆三轮农用车?( 初学matlab 一个小程序,折磨我一天了,也不知道应该怎么改.主程序:clear all;clcsyms C1 C2 C3x=[C1 C2 C3];for i=1:5Y(i)=1*C1*i+2*C2*i+3*C3*i;endY1=Y';b=[4;5;6;7;8];yo=Y1-b;options=gaoptimset('PopulationSize',500,'Generations',100 感恩教育演讲听后感 450字 快!快!快!快!快!快1快!快! 谁能帮我看看这个MATLAB程序怎么修改x=[1 2 4 5 6 7 8 10];N=length(x)n=0:N-1;k=0:N-1;X=x*exp(-j*2*pi/N).^(n*k);x1=X*exp(j*2*pi/N).^(n*k)/N;figure(1),stem(n,x);title('x(n)');figure(2),stem(n,abs(x1));title('IDFT丨x(k)丨')每次运行后 Matlab一道入门题如图,这个地方如果以t作为自变量的话,怎么对t进行赋值?以前遇到的都是不含参数的诸如t=1:2:101之类的,这里含有未知参数应怎么表示呢 感恩演讲稿我是初中生,下个星期开放周国旗下讲话,主题是感恩.求3~5分钟左右的演讲稿. 各位大侠帮我看看我的matlab程序,我在matlab的GUI中写了这样一段代码:im=imread('1.jpg');im1=rgb2gray(im);im1=medfilt2(im1,[3 3]);im1=double(im1);[ca1,ch1,cv1,cd1]=dwt2(im1,'bior3.7');[M,N]=size(ca1); e=hundungen(M,N,0.1); tt=0.1 不用方程. 关于感恩,800字,演讲稿 一个数的小数点向左移动一位,比原数小72,求这两个数. 感恩父母的作文 成语之最 最难说的话 最准的话 最大的家 最好的记忆 一个数的小数点向左移动一位,比原数小0.72,则原数是多少. 不要方程. 一个数的小数点向左移动一位后比原来少4.86,这个数原来是什么? 感恩400字作文 我要感恩父母的作文,400字以上,急 一个数的小数点向左移动1位后比原来少4.86,这个数原来是什么 将一个数的小数点向左移动一位后,得到的数比原来的数小72,这个数原来是多少? 成语之最的几个问题,最险的情景,最应念的话,最固执的人我想了好几天都没想出来 matlab的在数学建模常用模型的程序?至少3个 一个数的小数点向左移动一位后,比原数小72.求原数是多少? 编写成语之最 最重的话最重的话最大的手术 最大的被褥最大的差异最少的恩情最短的季节 数学建模两个模型MATLAB代码,灰色模型和多元线性回归模型 要求代入数据能预测出后续十组数据! 几道小学的应用题[用方程解]1、用一根长76厘米的铁丝做一个长方形的教具,要使宽16厘米,那么长是多少厘米?2、内径为120毫米的圆柱玻璃杯中的水倒入内径为300毫米、内高为32厘米的圆盘中正 初学matlab,不知道下面的错误在哪儿,求高手解决.谢了!x=-1:0.01:1; y=((x*x)^(1/3))*((x*x)^(1/3))+sqrt(1-x*x); plot(y,x); ? Error using ==> mtimes Inner matlab里面的让建立数学模型的题是让你写程序还是咋的? 小学方程解应用题要求100道, 请精通matlab的帮下忙,下面的代码有什么错么?本人初学fc1=1200;N1=2*pi*0.9/(0.1*pi) wc1=2*pi*fc1/fs; ifrem(N1,2)==0 N1=N1+1;endWindow= boxcar (N1+1); b1=fir1(N1,wc1/pi,Window);figure(3);freqz(b1,1,512); title('低通滤波器 matlab解数学模型导弹跟踪问题 某军一导弹基地发现正北方向120千米处海面上有敌艇一艘以90千米/ 小时的速度向正东方向行驶.该基地立即发射导弹跟踪追击敌艇,导弹 速率为450 千米/小时,自 那里有好的 thank you very mach! matlab初学,很菜~哪个好心人帮我看看这个程序错在哪了……感激不尽[X,Y,Z]=sphere(30);Z=surfl(X,Y,Z)shading interpcolormap(spring)axis equal%title('旋转的球体')n=360;for i=1:n rotate(Z,[1 0 0],3); f(i)=getframe;endmov 数学建模常用模型有哪些? 2009——2010初一下学期语文试卷苏教版的 matlab初学做一个内积, 学会感恩演讲稿400字.要求原创、急快、、要原创,3、4百字,《学会感恩》演讲稿 2011初一下学期月考语文试卷?人教版的 乌鲁木齐2011年二模 语文作文是什么立意 关于感恩父母的作文 用方程解怎么做? matlab线性方程求解MATLAB中怎么当方程数M ,未知数个数n,m>n,怎么是最最小二乘解,x=inv(a'*a)*(a'*b),m 解这道题的方程 点样做 用方程解 多元线性方程的求解 Matlab程序如下,但一直无法得到结果.对于下面这个方程,解应该是[0,0,0]Warning:Explicit solution could not be found.> In solve at 81In solve_diff at 11Comma separated list expansion has cell syntax for 这道题的方程式怎么解? 成语之最中最宝贵的话语是什么?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn