`
xiaolanglang123
  • 浏览: 26238 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
文章分类
社区版块
存档分类

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

阅读更多

(本图为:如何为你的项目挑选适宜的Web开发框架?)

(本图为:如何为你的项目挑选适宜的Web开发框架?)

 

今天小编为大家讲述的是关于Web开发框架的相关内容,那么到底什么是Web开发呢:

 

World Wide Web(简称Web)是随着Internet的普及使用而发展起来的一门技术,它的发明极大地方便了人们对Internet上资源的组织和访问。

 

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

 

古语云工欲善其事,必先利其器,对于工程师而言,选择一款合适而强大的开发框架对开发工作是大有裨益的。那么我们该从什么角度来进行衡量和挑选呢?

 

首先对于一家创业公司而言,这更像是一个商业抉择而不仅仅是技术选择,时间人力物力等开销都必须要考虑周全。一旦公司规模上来了资金不成问题了,可选择的空间就更大了甚至可以进行迁移或重新架构。这篇文章总结了以下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堆栈。

以上内容就是小编为大家带来的关于Web开发框架的选择,上述也只是给小伙伴们做个参考,实际使用还是根据自身的情况进行选择。

文章来源于:http://www.alqsoft.com/xinwenzixun/webkaifa/2014/1105/173.html

分享到:
评论

相关推荐

    Dsure-HTML5网站,前端开发框架

    Dsure参考了国内/外优秀的框架库,经过仔细研究探讨,针对国内和国外网站开发需求,重构编写了一套更适宜于国内(包括国外)的网站CSS/HTML开发框架,在这里它主要运用于Designers Site Program 全站静态系统的各类高端...

    ssi框架,ajax,json项目小例子

    SSH框架是指Spring、Struts和Hibernate三个开源Java Web开发框架的组合。Spring提供依赖注入和面向切面编程,管理应用程序的组件和生命周期;Struts负责控制应用程序的流程,处理HTTP请求和响应;Hibernate则是一个...

    Java Web课程统一项目教学改革与实践.pdf

    Java Web是高校计算机及信息技术专业的核心课程,该课程培养学生开发Java Web项目所需的综合知识、技术和能力。它具有实践性强、涵盖内容广泛、起点高等特点。课程内容涉及HTML、CSS、JavaScript、Ajax、数据库等...

    基于Django前后端分离开发-新闻管理系统.zip

    这个新闻管理系统是使用Python的Django框架构建的,旨在提供一个高效、稳定的后端服务,同时实现前后端分离的现代Web开发模式。Django是一个高级的、面向对象的Web框架,它强调可重用性和“干”(DRY,Don't Repeat ...

    01云之家OpenDay_云之家轻应用开发入门指南.pdf

    开发者可以自由选择前端框架和开发工具,以最适宜的方式开发轻应用。这种灵活性为轻应用的快速迭代和创新提供了良好的土壤。 开发步骤介绍: 开发轻应用的流程可以拆分为几个具体的步骤,每个步骤都有明确的操作...

    一个基于django的美食分享网站.zip

    对于"适宜人群",这个项目特别适合计算机专业的学生,特别是对Web开发感兴趣或者正在准备课程设计和毕业设计的同学。通过实践这样一个项目,他们可以深入理解Django框架的工作原理,学习如何使用Python编写Web应用,...

    dobbu项目文件

    通常,一个后台开发框架会包含路由处理、数据库交互、中间件、权限控制、模板引擎等核心功能。Dobbu作为后台框架,很可能也具备这些特性,帮助开发者快速构建稳定、高效、安全的后端服务。 "ppsh-admin-web"是...

    计算机毕设源码-ssm框架基于javaweb技术的农作物信息服务平台的设计与实现+vue+毕业论文+mysql数据库.rar

    该项目旨在为农业从业者提供一个便捷的信息查询和交流的平台,帮助他们更好地了解农作物种植、病虫害防治、市场价格等方面的信息。 项目采用了SSM框架进行后端开发,即Spring、SpringMVC和MyBatis的组合,这种框架...

    WEB项目中实现屏蔽关键字代码

    在WEB项目中,实现屏蔽关键字的功能是常见的需求,主要用于防止用户发布包含敏感或不适宜内容的信息。这在社交网络、论坛、博客等平台尤为关键,确保了内容的合规性和用户体验。本文将深入探讨如何在J2EE环境中实现...

    基于PHP实现的WEB图片共享系统(源代码+论文).zip

    2. Web开发框架:虽然没有明确指出使用了哪个PHP框架,但现代Web应用通常会利用如Laravel、Symfony或CodeIgniter等框架来提高开发效率和代码质量。这些框架提供了MVC(模型-视图-控制器)架构,便于组织代码和分离...

    Yii 2.0 开发记录草稿本

    Yii 2.0是流行的PHP开发框架,非常适合用于快速开发Web应用程序。开发者需要了解PHP基础语法,并且具备HTML、JS和CSS的基础知识,以便能够利用Yii 2.0高效地构建Web网站。Yii 2.0框架的开发流程可以细分为三个主要...

    移动互联网终端应用开发技术.pdf

    移动互联网终端应用开发技术是当前信息技术领域的重要研究方向,它涉及的技术和模式包括但不限于原生应用开发模式、Web应用开发模式和混合应用开发模式。下面将针对这些技术点展开详细阐述。 原生应用开发模式...

    基于SSM+Vue的课程思政元素收集遴选系统+数据库(Java毕业设计,包括源码,教程).zip

    10. **Java毕业设计**:作为一个完整的毕业设计项目,这不仅是一个实践项目,也是学习和展示Java Web开发能力的一个好机会,对于学生来说,可以锻炼项目管理和团队协作能力。 通过这个项目,开发者可以深入理解SSM...

    基于SSM的老年人食谱管理系统源码.zip

    【SSM框架详解】 SSM框架是Java Web开发中常用的...总之,基于SSM的老年人食谱管理系统源码是一个典型的Java Web项目实例,适合初学者和进阶者用来学习和实践,同时也展示了如何将现代Web开发技术应用于解决实际问题。

    6个非常经典Web前端使用的炫丽进度条(一)

    在Web开发领域,进度条是不可或缺的元素,用于展示任务的完成进度或数据加载状态。本文将探讨6个经典的Web前端进度条实现,这些进度条不仅功能实用,而且设计炫丽,能为用户界面增添视觉吸引力。我们将主要关注以下...

    用js开发的萝莉来了.zip

    开发者可能使用了Web开发框架如React或Vue来构建游戏,或者直接使用原生的DOM操作和事件监听来实现交互。游戏的界面元素可能通过HTML标签和CSS样式定义,JavaScript则负责处理用户输入、游戏逻辑和状态更新。 在...

    Python-django的celery和redis简单示例项目

    【Python-django的celery和redis简单示例项目】是一个基于Django框架的Web应用程序,它集成并展示了Celery和Redis...这个项目对于提升你的Python Web开发技能,特别是涉及异步任务处理的场景,是非常有价值的参考实例。

    EJB3图文教程之开发Session Bean

    在开始EJB3.0的Session Bean开发之前,首先需搭建一个适宜的开发环境。本教程将指导你如何在JBuilder2007中配置JBoss4.0,为后续的Session Bean开发奠定基础。 **1. JBuilder2007简介** JBuilder2007是基于Eclipse...

    【珍贵】2010WEB前端技术趋势及总结

    为了更好地支持前端开发,各大公司开始广泛采用前端框架(如JS Framework)和库(如CSS Library),这些工具极大地提高了开发效率,并简化了许多复杂的前端操作。例如,Facebook就使用了自定义的JavaScript框架来...

Global site tag (gtag.js) - Google Analytics