博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
这些 Web 开发工具,你都知道吗?
阅读量:6603 次
发布时间:2019-06-24

本文共 2270 字,大约阅读时间需要 7 分钟。

互联网与开源带来的好处就是,你遇见的问题别人都遇见过,你想要的解决方案别人都给出了。但是那么多的开源产品,到底该怎样去选择与甄别是否适合自己的项目,这里推荐一些自己开发中常用的库以及开发工具,每一个类只会推荐一个,免去你选择的痛苦。

框架

Laravel 是首推的 PHP 开发框架,用它官网的介绍就是“为 Web 艺术家创造的 PHP 框架”。Laravel 框架的底层代码都是跟进时代潮流的,用的都是最新的技术。而且它的学习门槛虽然高,但却是督促个人进步的好工具。优雅的路由、强大的 IOC 容器、可拓展的服务提供者、队列、缓存、通知、事件、广播等等你在开发一个大型应用中可能用到的都给你做好了,还有全文搜索引擎、支付解决方案、社会化登录等等,Laravel 基本上是 PHP 上的划时代框架。

网络通信

网络通信相比与传统的 Web 应用,它会更加的偏像底层一些,对开发者的基础知识要求会更高。这里首推 Swoole 这个异步网络通信引擎。用他官网的话来介绍就是:

使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。

它虽然要求开发者要懂得操作系统、网络、进程的知识,但是实际上很好上手,通过 Swoole 开发一个 WebSocket 服务器很简单,有机会写一篇基于 Swoole 的微信扫码登录的实现。

包管理

PHP 在引入了命名空间后,在生态中 Composer 就是最先进的依赖管理方案。相比于 5.3 版本之前的使用 require 来包含文件,它确实是增加了学习的成本,但是带来的效率却是无限的。想象一下传统的通过引入源代码包,要先下载,required 一堆的文件;有了 Composer 之后,一行命令即可搞定,而且还解决了后期的升级问题。

代码部署

网络上充斥着非常多的代码部署和持续集成工具,比如 Jenkins、Travis CI、瓦力部署等等各种的工具,都有一个共同的问题就是学习成本,拿到手根本不知道该怎么去入手。这里推荐一个基于 PHP 开发的部署工具 Deployer,它的优点就是使用简单上手快、支持回滚、原子发布,并且支持。而且源码量也不多,不懂的地方可以很方便的去阅读源码来调试。

网络请求

网络请求可能在开发中用的不多,但是有用到的话自己写却是非常的繁琐。这里首选推荐 Guzzle 这一个网络请求库,它的语法非常简洁,而且经过了这么多年的发展,代码非常稳定。不仅支持常见的 GET、POST、PUT、DELETE 等请求之外,还支持 OPTIONS、HEADER、PATCH 等请求,而且支持并行化调用,还可以通过中间件增加对重试机制的支持。

进程守护

现代化的 Web 引用开发中,会很经常用到队列或者以 CLI 方式运行的应用,而这种应用一旦进程挂了那么服务就中断了,所以很有必要一个进程守护工具来把挂掉的进程重新拉起来。这里推荐 Supervisor 这个基于 Python 开发的工具库,Supervisor 通过简单的 INI 风格的配置文件集中的管理进程,通过操作系统信号来监听进程的存活状态,支持简单的事件通知协议,兼容除了 Window 外的所有操作系统。

队列

队列常用在一些耗时的任务上,比如发送邮件短信、下载报表、处理图片等等,目前市面上开源的队列软件非常多,大名鼎鼎的有 Kafka、ActiveMQ、RabbitMQ、Redis等等,可以到 http://queues.io 上面去看看。其实对于一个常规的 Web 应用来说,这些重量级的一般都用不上,这里推荐 Beanstalkd 这个队列,它也是 Laravel 框架里面推荐使用的。

日志

日志系统对于一个 Web 应用来说,可以说是至关重要的。而且日志的量一般量都很大,类型又多,这里推荐使用 ELK 这个集中式的日志架构,可以查看一下我之前的文章:

采集工具

其实做爬虫最适合的语言还是 Python,当然用 PHP 来开发也是有很多利器的。首推 QueryList 这个基于 PHP 开发的采集工具,简单、 灵活、强大的PHP采集工具,让采集更简单一点。它的语法基本上和 jQuery 一致,可以来看一段代码:

//采集某页面所有的图片$data = QueryList::get('http://cms.querylist.cc/bizhi/453.html')->find('img')->attrs('src');//打印结果print_r($data->all());复制代码

微信开发

微信创造了一个新的时代,然后基于微信的应用基本上以及统治了传统的 WAP 端应用了。微信公众号的开发工具包首推 EasyWeChat ,这是一个非官方的开源工具库,但是基本上涵盖了微信开发中的方方面面,包括公众号、企业微信、微信支付、开放平台以及小程序。新版本 4.0 也是一个 LTS 的版本,不过新版本的文档有些概念没描述清楚,使用方法相比旧版本繁琐了许多,这里建议如果只是公众号开发的话还是建议使用 3.0 版本的。

以上基本上涵盖了一个常规应用开发中的方方面面,当然对于大型的分布式应用来说可能还差很多。 最后来一波小福利,到公众号后台发送“oneui”,赠送一套好看的后台模板。

欢迎关我的个人公众号:左手代码

转载地址:http://cbwso.baihongyu.com/

你可能感兴趣的文章
索引失效的几个原因
查看>>
关于多线程中使用while做循环而不使用if的解释
查看>>
欢迎你,企业基础架构CCIE,RS CCIEv5.0的升级版新时代迎合自动化运维的网工顶级认证...
查看>>
js typoeof用法
查看>>
五险一金,你清楚吗?
查看>>
Ip核_fifo
查看>>
基础 JavaScript 实例
查看>>
自定义pageControl
查看>>
repquota命令--Linux命令应用大词典729个命令解读
查看>>
我的友情链接
查看>>
设置vs解决方案跟随右边cpp
查看>>
Linux Administration
查看>>
如何使版面富有节奏感
查看>>
rabbitmq 管理及常用命令
查看>>
iphone导航控制器的开发与使用
查看>>
debian python library re-install
查看>>
如何用转义来给JS添加的input元素设置单引号
查看>>
J2E——网络编程练习
查看>>
VirtualBox移植
查看>>
HTTP要被抛弃? 亚洲诚信携手宝塔开启HTTPS加密快速通道
查看>>