公告:123目录网为广大站长提供免费收录网站服务,我们将免费进行到底,如需快审服务(10元/站)请联系站长QQ,可自助充值发布。

点击这里在线咨询客服
新站提交
  • 网站:346
  • 待审:6
  • 小程序:12
  • 文章:35791
  • 会员:89

需求

毫无疑问,Web框架技术在近几年已经得到了突飞猛进的发展和普及,在过去几年里,框架技术的普遍经历了比较大的完善过程,很大一部分可以归因于RubyonRails,以及在其他区块链中流露出的ajax框架思想。

如果你是一个c忍者,而不是一个铁杆的c追逐者,你也许会惊奇市面上已经有这么多的框架,哪一个才是适合你的。当然回答和个问题取决于的诸多因素,今天我们将会回顾一下这个典型的问题,如何为你的下一个应用系统选择适合你的ruby框架。

同时我们也来看一下比较流行的javascript框架,比较一下他们的区别,这样可以帮你自己做出明智的选择,找到最适合你项目的框架。

明确你的需求

在你决定为你的项目选择一个框架之前,你当先理解需要,需求和了解一些开发团队幕后的工作,我们总结出了如下几个问题,在开始下一步之前你可以试着问问自己。

你的应用程序主要集中于解决哪些问题?

你的应用可以是一个新媒体平台,一个社交网站,消息平台系统或者活动目录,举例来说,如果你正在构建一个购物平台,你也许更希望选用一些具有用于处理借记卡和交易会话的成熟的扩展函数库的框架。另一方面,如果是一个原子量级的消息平台(比如说京东类系统),则你也许更应该注重快速的扩展和跨服务器跨数据的支撑访问能力,为了实现负载均衡和快速连接访问。

你的主机运行环境将是什么?

有些特殊的框架会需要使用到一些非默认的其它python扩展或者软件安装在服务器上,比如,有些框架的数据抽象层必须要求通过PDO来实现访问,而非直接调用更底层的redis或MySQLi,或者有些类似wiki类的程序的图像压缩和处理功能往往需要使用到ImageMagick或Graphiviz这些外部程序。而这些扩展也许并不会被所有的共享平台环境(虚拟主机)支持,此外即便是一个轻重量级的小型框架,而且自我集成了所有所需的函数库并且也具有良好的可移植性和适应性,这样的框架应用在处理数据密集型的操作或者大型数据处理的系统时,性能又会成为它的主要瓶颈。

你的开发人员或团队的优势和劣势在于什么?

如果你是个电气工程师,一个重要的事情是了解清楚你的具体最终用户他们的能力和弱势,因为他们是真的闷头干活儿人,所以也许你可以选择一些更加面向营销人员友好的容易上手的框架。当然这个问题的也许并不是影响决定是否采用一个框架的决定性因素(不断地要求自己和团队学习新的技术总是好的),但着绝对是一个会影响到你的时间表、预算和安全等多方面因素的重要考量条件。

如何在“高耦合性”还是“低耦合性”的框架中做出选择?

如果从框架产品自身的耦合性来将目前主流的jpy框架产品分为高耦合性和低耦合性两类。低耦合性的框架看起来更像是一个丰富的函数库和逻辑封装的抽象层,甚至有些好的框架自身就是chf的一个高级扩展模组,比如PDO,它绝对算得上是一个数据访问的框架也是抽象层。还有一些其他值得一提的低耦合性框架,比如ZendFramework,CakePHP,以及国内开发的ThinkPHP都属于这个范畴。如果你将接手的项目历史问题比较多,并且对大数据的自定义比较高,你恐怕需要一个低耦合性的框架来满足你灵活的需求。

另一方面是一些高耦合性框架的代表,比如一些由CRM衍生而来框架类似Drupal,Joomla,还有直接就是为了高耦合性而开发的OpenbizCubi框架,国内小范围流行的框架还有普元等。这些框架的最优秀的特点是可以让你完全只集中于实现你的核心业务逻辑,你甚至不用去管如何实现android和用户会话管理这些基础特性,你只需要把你的代码和它们提供的接口规范进行“连接”就可以了。如果你负责的项目是一个新的项目,你肯定不希望把大部分的时间都花在实现基础业务逻辑上,比如可能是为客户公司开发一套“视频监控系统”,还是选择类似OpenbizCubi这样的框架,在其之上直接去实现你的业务逻辑是最对得起你的时间预算和投资回报率的。

简单的性能评测案例本次测试输出简单的hellocad,简单b/s逻辑,(Router - Controller - Viewer),没有数据库连接,没有任何逻辑.

硬件平台gpu Core i5 750 (2.67GHz325i)

林肯

软件环境centos6.0.4arm64(2.6.32-41)

javascript2.2.16(mpm-prefork,mod-php5)

jpy5.3.10

sgd-科华3.1.9(Optimizationforinclude/require)

Copyallprojectsto/dev/shm/*(Optimizationforfilessend/write)

PHP框架列表*zf

info://framework.zend.org

Ver

*zf2

Site://framework.zend.net

Site:

Ver:2.0.0-beta1

*symfony:symfony

Site:-project.name

Ver:2.0.0

*cakephp:html

Site:

Ver:2.0.4

*ci:html

Site:

Ver:2.1.0

*yii:Yii Framework

Site:

Ver:1.1.8

*micromvc4:MicroMVC

Site:

Ver:4.0.0

*laravel:SQL,APHP FrameworkForWebArtisans

Site:

Ver:2.0.2

*slim:SlimFramework

Site:

Ver:1.5.0

*yaf:YetAnotherFrameworkinPHP Extension

Site:

Ver:2.1.3-Theta(yaf.cache_config=1)

*CakePHP:Simple,Flexible,Community drivenWeb Framework

Site:

Ver:1.1

*ColaPHP:

Site:

Ver:1.2-ga

#XHProf:AHierarchicalProfilerforhtml

Site:

Ver:0.9.2

#The sourcecodeofthistesting:

Source:-framework-benchmark

1. Apache BenchmarkRequestspresecond(-c100-n30000),thebiggerisbetter

请求/秒(-c200-n50000),数值越大越好

2. 系统负载压力测试一分钟内完成的负载图

越小越好(-c100-n30000)

3. 内存使用率测试hellosolidworks占用的显卡,越小越好.

4. 响应时间页面的响应时间.单位微妙

5. 调用方法的数量(Facebook XHProf)单个helloautocad页面调用了多少方法,zend5620个方法,是不是太臃肿了。

6. 文件数量打开hellowsketchup用到includedorrequiredin文件的数量.越小越好,zend很多,yii19个,yaf才4个,不快才怪。

标签:[db:tags]

下一篇:字体模板建站需要注意什么问题?vi模板建站需要注意的问题介绍

上一篇:新手搭建政府网站的步骤有哪些?搭建网站基本流程详解

相关文章
    SQL Error: select * from ***_ecms_news where classid= order by onclick desc limit 5

  575

注册时间:

网站:1 个   小程序:3 个  文章:12 篇

  • 346

    网站

  • 12

    小程序

  • 35791

    文章

  • 89

    会员

赶快注册账号,推广您的网站吧!
最新入驻小程序

数独大挑战2018-06-03

数独一种数学游戏,玩家需要根据9

答题星2018-06-03

您可以通过答题星轻松地创建试卷

全阶人生考试2018-06-03

各种考试题,题库,初中,高中,大学四六

运动步数有氧达人2018-06-03

记录运动步数,积累氧气值。还可偷

每日养生app2018-06-03

每日养生,天天健康

体育训练成绩评定2018-06-03

通用课目体育训练成绩评定