阅读更多

3顶
1踩

Web前端
摘要:古语云工欲善其事,必先利其器,对于工程师而言,选择一款合适而强大的开发框架对开发工作是大有裨益的。那么开发者应该从什么角度来进行衡量和挑选呢?本文总结了十点以供参考。
古语云工欲善其事,必先利其器,对于工程师而言,选择一款合适而强大的开发框架对开发工作是大有裨益的。那么我们该从什么角度来进行衡量和挑选呢?

首先对于一家创业公司而言,这更像是一个商业抉择而不仅仅是技术选择,时间人力物力等开销都必须要考虑周全。一旦公司规模上来了资金不成问题了,可选择的空间就更大了甚至可以进行迁移或重新架构。原文作者Ramigbtech总结了以下10点以供参考。译文如下:



1.  语法

拥有优雅语法的语言无疑可以让编程工作变得惬意,但有时候我们容易被表象所蒙蔽,如果凭直觉你认定,"this is text".split(’ ‘).reverse.join(‘ ‘)比" ".join("This is text".split(’ ‘)[::-1]) 的写法要好或差,那么这仅仅是外貌协会,实际上我们更应该着眼于它本身是否具有局限性或语法是否累赘,用更少的代码完成等价的工作我们自己或团队都会对当初的选择心存感激。

2.  功能和体型

我们需要为路由编写复杂的正则查询吗?路由中含有内建的DSL吗?我们需要使用ORM吗?或许我们还想拥有更多其它功能。建议选取一款较轻巧框架作为开始,日后我们可以为它添砖加瓦。

3.  文档资源

具备丰富文档资源的框架使用起来的确是得心应手事半功倍。例如我在学习CodeIgniter时,根本不必像无头苍蝇那样四处寻找答案,其自带的教程和配套范例都做得非常认真仔细。相对而言,我在学习ExpressJS的时候就比较费力了。

4.  代码自动生成

框架中的代码自动生成功能通常能为我们节省不少时间,我们仅需要做好控制器/类等的处理而把其它重复的编码工作交给框架,虽然有时候不能自由地进行自定义,但对于想快速开发出一个能运行的原型是有积极意义的。

5.  模块化

Django在模块/Apps的处理上令人赞叹,不仅仅让代码复用变得简便,同时有助我们培养良好的模块化思维。当我们不再需要X模块时,我们只需把它移除然后做好代码重构工作就可以了。

6.  基础架构

不论是使用LAMP还是MEAN堆栈,或是Rails/Unicorn等,最关键的还是我们对这个架构有没有足够的了解,有没有相关组件的维护能力。假如应用的前端和后端都与Javascript相关,采用MEAN堆栈架构是个不错的选择。

7.  社区和更新速度

框架相关的社区是否活跃?有没有技术大咖坐镇?官方会否常常上StackOverflow帮忙解答技术疑难?为这些问题找到完美的答案是有一定难度,但绝大多数时候数字是最真实的。日期或参与度/帖子热度都是不错的衡量指标。此外,补丁的更新速度也十分关键,对安全性和漏洞的重视与否可谓是牵一发而动全身。

8.  重大变更

就在最近不少程序员听到Angular 2.0的重大变更后感到震惊和抓狂,尽管要到2015年晚些时候才会全部完成,但一想到辛辛苦苦做好的代码都会变成过去时,又怎能安之若素呢?另一个例子是Yii框架,新版本2.0的推出意味着对前个版本的完全重写。

9.  部署和依赖

容易部署吗?能方便进行扩展吗?需要花费多少时间来学习掌握部署工具?虽然有Docker这样的工具可以帮我们解答上述问题,但是抽取时间来思考这方面的问题还是有必要的。

10. 人力

我们能快捷地找到相应的开发人才吗?将要使用的框架在我们所处的区域是否流行?纵然培训工作是管理的一部分,但对于初创公司而言时间和资金时刻都得精打细算。

写在最后:

如果是中型的网站,我会选择Django。如果我暂时不能确定网站的规模和将投入多少开发精力,我会选择Rails。如果我不想前后端工作分得太开,我会选择MEAN堆栈。
  • 大小: 8.1 KB
来自: CSDN
3
1
评论 共 1 条 请登录后发表评论
1 楼 lzy83925 2014-11-04 16:52
还有一点,就是看你的客户需求,如果客户封闭在一个局域内网,而且都是xp系统,那你就不得不考虑ie8或者更低的兼容了。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 你的项目该怎么挑选适宜的Web开发框架?

    (本图为:如何为你的项目挑选适宜的Web开发框架?)   今天小编为大家讲述的是关于Web开发框架的相关内容,那么到底什么是Web开发呢:   World Wide Web(简称Web)是随着Internet的普及使用而发展起来的一门...

  • JavaWeb实训项目 河南省旅游指南

    旅游业是一个综合的行业,它把吃、住、行、游、购、娱各个环节联为一体,提供“一条龙”服务,通过产业关联带动、吸纳就业等功能,推动和刺激着经济增长和社会进步,我国旅游业发展的起步较晚,真正的发展应该是在...

  • Java面试不通过?这篇文章你看了吗?

    本文的宗旨是为读者朋友们整理一份详细而又权威的面试清单。 此文是前段时间本人根据部分文章汇总压在草稿箱(由于时间关系,忘了加上对应的原创链接,如有侵权,请联系本人删除,本人单纯秉着知识乐于分享的精神)...

  • 计算机毕业论文java毕业设计论文题目springboot ssm框架项目源代码实现的学生就业信息管理(spring boot+layui)[包运行成功]

    哔哩哔哩_bilibili计算机毕业设计java毕设之maven就业信息管理(spring boot+layui)共计2条视频,包括:IT实战营-maven就业信息管理(spring boot+layui)、项目资源获取等,UP主更多精彩视频,请关注UP账号。...

  • 【深度学习】Github 最受欢迎的深度学习项目 TOP 20

    必须做好一些是LINUX平台,甚至没有教材根本需要摸索学习的准备,如果有那个变成为在线服务的请第一时间通知我们 截止到 2017年 5月14日,Github 最受欢迎的深度学习项目 TOP 20 是哪些吧(统计难免不完善,欢迎...

  • 手把手教你用Java设计并实现一个城市公交查询系统

    近年来,Internet推动了以互联网技术为核心的各项工作蓬勃展开,互联网的强大也大大的促进了社会的发展,整个社会信息化进程逐步加快,网络也变成了我们日常活动中越来越重要的组成成分。为了使得我国公交乘客出行及...

  • 基于Java+SpringBoot+Vue前后端分离餐厅点餐管理系统设计和实现

    当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记本的广泛运用,以及各种计算机硬件的完善和升级,市面上的电脑...

  • 我的Java开发学习之旅------>Java经典面试题

    从享受生活的角度上来说:“程序员并不是一种最好的职业,我认为两种人可以做程序员,第一,你不做程序员,你就没有什么工作可做,或者说是即使有可以做的工作但是你非常不愿意去做;第二,你非常痴迷和爱好程序,...

  • Linux C++后端开发学习路线参考汇总

    文章目录Linux C++后端开发学习路线参考汇总如何快速掌握C++?路线一(<6个月):知乎Milo Yip路线二(<1年):华中大守门员一、C++基础(3个月)二、计算机网络(1个月)三、操作系统(1个月)四、网络编程...

  • 让开发者高效编程的10个新框架

    摘要:本周看点:让开发者高效编程的10个新框架、CSS、JavaScript开发者必备的10款最佳工具、Chartkick:一行代码即可绘制出漂亮的图表...本周以前端开发工具类居多有:让开发者高效编程的10个新框架、CSS、JavaScript

  • 网站项目管理规范指南

    1.1 什么是网站项目管理规范指南 《网站项目管理规范指南》读做“网站-项目管理-规范-指南”,顾名思义就是针对网站项目管理,提供规范管理的建议和指导。之所以称作“指南”,是因为我们的规范不是标准,标准是由...

  • 信息系统项目管理师

    信息系统项目管理师考试 32 小时通关 第一小时 信息化和信息系统 香农是信息化的奠基者,维纳是控制论的创始人,图灵是计算机科学之父、人工智能之父,冯• 诺依曼是计算机之父。 香农用概率来定量描述信息的公式...

  • 工作中使用到的单词(软件开发)

     开发的系统新功能上线发布,有时会使用到这个词,比如 STプロモート 还有使用リリース这个词的。比如STリリース。个人认为两者含义相同。 4.見逃し み.......................................................

  • [读书笔记—程序员]《高效程序员的45个习惯:敏捷开发修炼之道》- 苏帕拉马尼亚姆,亨特

    已有的技能和习惯为你打下了很好的基础,但不能依赖它们。 8. 打破沙锅问到底 为了解决问题,你需要知道许多可能的影响因素。当找人询问任何相关的问题时,让他们耐心地回答你的问题,这是你的职责。 ...

  • 2018年我的开发管理总结

    想了个把月还是没有想清楚,只是觉得综合我的经验,“开发管理”这个工作会适合我,也有兴趣去应对其中的挑战。在技术领域我的技术水平一直一般,并不出众,但是在综合性管理实务上积累了一些经验,我相信这些经验中...

  • web面试经验

    摘自张孝祥itcast 从享受生活的角度上来说:“程序员并不是一...程序员的结局也是有两种:第一,默默退休,第二以程序员为起点或跳板,注意积累,跟对了好的老板或团队,找到和很好的搭档自己创业,成为IT金领和富翁

  • 基于springboot大学生就业信息管理系统源码数据库文档.zip

    基于springboot大学生就业信息管理系统源码数据库文档.zip

  • 基于java的驾校收支管理可视化平台的开题报告.docx

    基于java的驾校收支管理可视化平台的开题报告

  • 原木5秒数据20241120.7z

    时间序列 原木 间隔5秒钟 20241120

Global site tag (gtag.js) - Google Analytics