首页 > 其他分享 >Web开发人员应当知道的15个开源项目

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

时间:2022-11-27 11:37:52浏览次数:74  
标签:Web 15 框架 网络应用 网站 开发人员 应用程序 开源


如今,构建网站和开发Web应用程序已经不仅要求开发人员是一名优秀的程序员,更需要聪明的程序员。这也就是说,在可能的情况下,重复使用已有的代码和应用程序,而不是自己重头开始。

开源由来已久,并且很多网站的构建也使用了开源。开发人员都知道Linux、Apache、MySQL及PHP(LAMP)。

但是除那些之外的其他开源项目呢?作为一名Web开发人员,你可以借助诸多可用的项目,以节省开发时间,或提高程序性能。

下面让我们看一下哪些开源项目可供大家免费使用。

可供使用的新型数据库

传统上讲,你可能习惯使用MySQL。尽管MySQL是一个非常棒的数据库,但诸多试图解决MySQL存在的问题的新型数据库已经问世。

1.​​MongoDB​​

MongoDB就是的“非关系型”数据库之一。它扩展性强、性能高。

2.​​Apache Cassandra​​

与MongoDB相似,Apache Cassandra也是一种“非关系型”数据库,它亦扩展性强、性能高。并且能够很好地处理庞大而活跃的数据集。(编注:Facebook用Cassandra来做邮箱搜索。)

更多

根据需要,你还有更多的选择。​​请参阅维基百科的这个列表​​。

缓存数据

因为需要频繁使用一些数据,所以相比每次去数据库中查询,把这些数据存放在内存中更加合理。这能够大大提高Web应用程序的运行速度。

3.​​Memcached​​

Memcached是一种在内存中缓存小型数据块的简单但强大的解决方法。(编注:Facebook运行着成千上万的Memcached服务器,借以及时处理TB级的缓存数据。)

4.​​Redis​​

Redis的作用与Memcached相同,但包含更多的特性。例如,它也可以存储本应当永久性保存在磁盘上的数据。

加快网络请求的速度

大多数网站使用Apache的网络服务器来提供服务。它能够很好地服务于大多数网站,但是一旦网站的访问量增大,就需要做进一步优化。

5.​​Nginx​​

Nginx是一种与Apache非常相像的网络服务器,但它的速度相当快。作为负载平衡器,它常用于处理静态内容,如图像文件。

6.​​Varnish​​

Varnish是位于常规网络服务器之前的高速缓存器。它将所有热门内容放入内存,直接对其处理,无须将所有内容都传给网络服务器。(编注:Facebook用Varnish处理图片和用户照片,每天都要处理十亿级的请求。Facebook所用到的其他开源项目,请参阅《​​揭秘Facebook背后的那些软件​​》一文。)

轻松管理内容

如果你在构建一个允许用户添加及编辑内容的网站,那么你可能需要一个内容管理系统(CMS)。CMS能够帮助开发人员轻松地管理博客及网站,并且提供大量的能够扩展网站功能的插件。

7.​​WordPress​​

虽然WordPress是个博客平台,但它也能用于管理大大小小的网站。

8.​​Drupal​​

Drupal是一个可用于构建强扩展性、高灵活性网站的完整平台。

更多

还有很多可用的内容管理系统。​​请参阅维基百科的这个大型列表​​。

交互式的网络UI

如今,你可以使用JavaScript和AJAX技术,开发一个类似桌面应用程序那样的以多种方式运行的网络应用。使用JavaScript框架,能够轻松地开发大型的网络应用程序。

9.​​JQuery​​

JQuery是一个带插件的框架,这些插件有主构建包含AJAX交互及动画的动态网站。

10.​​MooTools​​

MooTools就和jQuery一样,是一个使用JavaScript构建强大网络应用程序的框架。

更多

如果你想尝试一下其他选择,​​请参考维基百科的这个列表​​。

其他比较炫的资源

当你开始开发一个复杂的网络应用程序时,很多软件、库及模型能够帮你解决难题,如果不参考这些资源,你可能会花费大量的时间。以下是两个入门的例子。

11.​​Node.js​​

Node.js是一个事件驱动的输入/输出框架,支持用JavaScript编写应用程序,并在V8 JavaScript引擎上运行。这是一种开发快速、可扩展网络程序的很棒的方式。

12.​​RabbitMQ​​

RabbitMQ是一种可靠的、可扩展的信息传送系统,它能够处理高吞吐量。如果需要在系统之间或应用程序之间交换数据,比起传统的解决方案或直接将数据存储在数据库中,信息传送系统的更能胜任这一工作。

使用框架来加速开发进程

不管你是使用PHP还是其他的编程语言,有很多不同的可用框架能够帮助你加速开发进程,并能够更加轻松地管理代码。

13.​​Symfony​​

Symfony是一个PHP框架,它包含很多能够加速开发复杂网络应用程序的组件及工具。同时它包含社区提供的1000多个插件。

14.​​Ruby on Rails​​

对Ruby语言而言,Ruby on Rails是最流行的可用框架。

15.​​Django​​

Django是一个Python网络框架,它用来帮助快速开发高性能、优秀的网络应用程序。

更多

维基百科上有一份更完整的列表,​​这个列表包含不同语言的可用网络应用框架。​

后话-合理利用时间

开发人员有必要花费时间不断了解哪些新软件是可用的,这样对轻松地解决复杂的任务大有裨益。

而且在项目开发之初,花费一些时间做计划和调查也是非常有必要的,因为这样可以明确即将面临的问题,并确定其最佳解决方案。

自己编程来解决每个问题的时代已经结束,如今更多的是灵活使用现有技术来解决问题。

不知正在看本文的Web开发人员,在上述这些开源项目中,你用到了哪些?欢迎你在评论中分享你的使用经验和心得。

标签:Web,15,框架,网络应用,网站,开发人员,应用程序,开源
From: https://blog.51cto.com/u_15834343/5889883

相关文章

  • WebService传输DataSet的一点想法和实践-.NET教程,Web Service开发
    其实这个标题很大,实现起来也可以有许多的办法。甚至,应否这样做也许都能惹出许多的争论(比如,为什么用ws而不是remoting?为什么传dataset而不是entity[]?)。      由于ds......
  • 15-注解
    typora-root-url:images一、注解1.1、概述从JDK5.0开始,Java增加了对元数据(MetaData)的支持,也就是Annotation(注解)Annotation其实就是代码里的特殊标记,......
  • webpack配置css文件
    1.webpack处理js文件webpack会自动处理js文件和js文件之间的依赖。配置webpack.config.js文件,就可以在运行的时候使用webpack来代替webpack'./src/ma......
  • #10115. 「一本通 4.1 例 3」校门外的树
    在区间上种树1.区间[l,r]全部设为一种树木(每次都种新的品种) 2.问[l,r]内有多少种树木且操作不会出现覆盖的情况 把区间当作括号()[],询问时答案为r左边......
  • System.Net.Mail和System.Web.Mail
    System.Net.Mail是作为System.Web.Mail的替代来发送EMAIL. 1)System.Net.Mailprivate void SendMailByNet(){    MailMessage objMailMessage =......
  • 编写超级可读代码的15个最佳实践
           一月两次,我们重温Nettuts历史上读者最喜欢的文章。      代码可读性是一个计算机编程世界的普遍主题。它是我们作为开发者第一件学习的事情。这篇文......
  • Web安全基础 - RCE CTFHub
    Web安全基础-RCECTFhub题目来自CTFHub,Web方向技能树Rce部分https://www.ctfhub.com/#/skilltree基本介绍远程命令/代码执行漏洞,简称RCE漏洞,可以让攻击者直接向后台服......
  • Web安全基础 - LFI Labs
    Web安全基础-LFILabs本实验来自于https://github.com/paralax/lfi-labs做到一半了才发现BUUCTF上有,可以参考本篇做一下更有成就感CMDCMD-1该关卡直接执行Get方法cm......
  • 麒麟信安V3.4 安装PG15的过程V2.0
    改版说明上一次进行了PG的安装当时发现自己少加了一部分ossp的处理.这里补充上...不然挺浪费时间的.背景发现基于OpenEuler的几个系统使用CentOS的rpm包安装PG数据......
  • 1527_AURIX_TriCore内核架构开篇与架构概述
    全部学习汇总:​​GreyZhang/g_tricore_architecture:somelearningnoteabouttricorearchitecture.(github.com)​​看文档的时候,引用了内核架构的内容。这方面我没有......