Web开发人员应当知道的15个开源项目.docx

Web开发人员应当知道的15个开源项目.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Web 开发人员应当知道的 15 个开源 项目 如今,构建网站和开发 Web 应用程序已经不仅要求开发人员是一名优秀的程序员,更需要聪明的程序员。这也就是说,在可能的情况下,重复使用已有的代码和应用程序,而不是自己重头开始。 开源由来已久,并且很多网站的构建也使用了开源。开发人员都知道 Linux、Apache、MySQL 及 PHP (LAMP)。 但是除那些之外的其他开源项目呢?作为一名 Web 开发人员,你可以借助诸多可用的项目,以节省开发时间,或提高程序性能。 下面让我们看一下哪些开源项目可供大家免费使用。可供使用的新型数据库 传统上讲,你可能习惯使用 MySQL。尽管 MySQL 是一个非常棒的数据库,但诸多试图解决 MySQL 存在的问题的新型数据库已经问世。 MongoDB MongoDB 就是的“非关系型”数据库之一。它扩展性强、性能高。 Apache Cassandra 与 MongoDB 相似,Apache Cassandra 也是一种“非关系型”数据库,它亦扩展性强、性能高。并且能够很好地处理庞大而活跃的数据集。(编注:Facebook 用 Cassandra 来做邮箱搜索。) 更多 根据需要,你还有更多的选择。请参阅维基百科的这个列表。 缓存数据 因为需要频繁使用一些数据,所以相比每次去数据库中查询,把这些数据存放在内存中更加合理。这能够大大提高 Web 应用程序的运行速度。 Memcached Memcached 是一种在内存中 缓存小型数据块的简 单但强大的解决方 法。(编注: Facebook 运行着成千上万的 Memcached 服务器,借以及时处理 TB 级的缓存数据。) Redis Redis 的作用与 Memcached 相同,但包含更多的特性。例如,它也可以存储本应当永久性保存在磁盘上的数据。 加快网络请求的速度 大多数网站使用 Apache 的网络服务器来提供服务。它能够很好地服务于大多数网站, 但是一旦网站的访问量增大,就需要做进一步优化。 Nginx Nginx 是一种与 Apache 非常相像的网络服务器,但它的速度相当快。作为负载平衡器, 它常用于处理静态内容,如图像文件。 Varnish Varnish 是位于常规网络服务器之前的高速缓存器。它将所有热门内容放入内存,直接对其处理,无须将所有内容都传给网络服务器。(编注: Facebook 用 Varnish 处理图片和用户照片,每天都要处理十亿级的请求。 Facebook 所用到的其他开源项目,请参阅《 揭秘Facebook 背后的那些软件》一文。) 轻松管理内容 如果你在构建一个允许用户添加及编辑内容的网站,那么你可能需要一个内容管理系统 (CMS)。CMS 能够帮助开发人员轻松地管理博客及网站,并且提供大量的能够扩展网站功能的插件。 WordPress 虽然 WordPress是个博客平台,但它也能用于管理大大小小的网站。 Drupal Drupal 是一个可用于构建强扩展性、高灵活性网站的完整平台。 更多 还有很多可用的内容管理系统。请参阅维基百科的这个大型列表。 交互式的网络 UI 如今,你可以使用 JavaScript 和 AJAX 技术,开发一个类似桌面应用程序那样的以多种方式运行的网络应用。使用 JavaScript 框架,能够轻松地开发大型的网络应用程序。 JQuery JQuery 是一个带插件的框架,这些插件有主构建包含 AJAX 交互及动画的动态网站。 MooTools MooTools就和 jQuery 一样,是一个使用 JavaScript 构建强大网络应用程序的框架。更多 如果你想尝试一下其他选择,请参考维基百科的这个列表。 其他比较炫的资源 当你开始开发一个复杂的网络应用程序时,很多软件、库及模型能够帮你解决难题,如果不参考这些资源,你可能会花费大量的时间。以下是两个入门的例子。 Node.js Node.js 是一个事件驱动的输入/输出框架,支持用 JavaScript 编写应用程序,并在 V8 JavaScript 引擎上运行。这是一种开发快速、可扩展网络程序的很棒的方式。 RabbitMQ RabbitMQ 是一种可靠的、可扩展的信息传送系统,它能够处理高吞吐量。如果需要在系统之间或应用程序之间交换数据,比起传统的解决方案或直接将数据存储在数据库中,信息传送系统的更能胜任这一工作。 使用框架来加速开发进程 不管你是使用 PHP 还是其他的编程语言,有很多不同的可用框架能够帮助你加速开发进程,并能够更加轻松地管理代码。 Symfony Symfony 是一个 PHP 框架,它包含很多能够加速开发复杂网络应用程序的组件及工具。同时它包含社区提供的 1000 多个插件。 Ruby on Rai

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档