框架VS库VS产品

框架:是一种库,是一种添加了执行入口的库。

库:是一个工具,引入库,就可以使用库的函数、数据结构。库可以没有执行入口,也可以有,无非本质都是一堆写好的代码,不用我们再劳动了。使用的时候引入并调用即可。

eg:beego是一个go库,

                  也可以说,beego是一个web框架,可以用来构建web应用,支持go语言。

框架:就是写好的东西,有执行入口,直接拿来用,全套基础已经做好,在原来的基础上使用即可,需要二次开发才可以使用,直接用没有意义。使用框架可以开发出来产品。使用的时候需要搭建环境。嘿嘿~

产品:产品就是一种服务,使用产品要遵守产品的使用协议,客户端按照这种协议就可以使用服务。就像你要用电饭煲这个产品,就要按照电饭煲的使用协议-说明书,说明书是伴随产品出生的。开发产品要明确使用的协议。在开发这个产品/服务之前,肯定已经明确了这个产品/服务的使用协议。使用的时候要有客户端-客户端已经实现了使用协议。有的客户端有窗口,有的没有窗口,看开发者怎么开发的,窗口本质也是代码,然后经过解释程序,翻译成客户端。

比如redis   fastDFS  mysql  nginx 这些都是成型的产品,也可以说服务。使用这些产品/服务,就要遵守这些产品的使用规则,即了解协议,要了解redis 协议  fastDFS协议 mysql协议 http协议( 因为nginx-基于http协议开发)。而这些产品,开发出来的时候,已经开发出来了使用他们的客户端程序,这些程序已经实现了协议,比如 mysql(客户端代码:/usr/bin/mysql)  redis-cli(/usr/local/bin/redis-cli)  比如 fdfs_upload_file(/usr/bin/fdfs_upload_file) 

而nginx是遵守http协议的,浏览器就是使用http协议的客户端,所以nginx的开发者不需要在开发客户端,使用支持http协议的客户端程序,就可以访问到nginx,访问方式举例:

浏览器输入:localhost:8888  查看是佛nginx是否启用成功了localhost:8888/group1/M00/00/00/rBIK6VcaP0aARXXvAAHrUgHEviQ394.jpg   查看nginx的fast驱动是否成功

 

再比如,我们经常开发的web服务,开发的时候,已经明确使用http协议,所以不用额外开发web客户端,浏览器这个客户端就已经实现了http协议。我们也可以通过代码去访问web服务,即爬虫程序,爬虫手动实现http协议,就可以获取web服务。

http 协议 和redis 协议 和mysql协议的区别只是:http认可度更高,而且浏览器对http协议的支持,使用广泛。

eg:mysql服务的客户端程序,

     1)黑窗口的 mysql-(本质是调用了mysql的客户端程序:/usr/bin/mysql)

     2)navacite 工具:已经实现了mysql协议

     3)go语言连接mysql服务,可以安装mysql的驱动包-已经实现了mysql协议-作用等同于/usr/bin/mysql import(
    _ "github.com/go-sql-driver/mysql"
    "database/sql"
)

然后使用database/sql去使用这个驱动包。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值