web开发工具综述

博客介绍了前端和后端开发相关知识。前端主流框架有Vue、React、Angular,各有优劣,常用语言为HTML、CSS和Javascript,开发环境IDE有Visual Studio Code等;后端Python框架包括Django、Flask、Tornado,后端语言有Python、PHP等,还提及数据库如SQLite、mysql等。

参考致谢:

1 概述

不了解的同学可以看一下这里。

终极解密|前端、后端、全栈都是干嘛的?谁收入高?看这一篇就够了

https://zhuanlan.zhihu.com/p/26318089

网站的“前端”是与用户直接交互的部分,包括你在浏览网页时接触的所有视觉内容--从字体到颜色,以及下拉菜单和侧边栏。

是什么给网站前端提供支持?数据存放在哪里?这就涉及后端内容了。网站后端包括服务器、应用还有数据库。后端开发者构建并维护这些组件,为网站提供多方面支持。

前端开发者的工作专注于“房屋”装修,而盖房子的工作由后端开发者负责。

 

2前端

前端三大主流框架的对比React、Vue、Angular

https://blog.youkuaiyun.com/weixin_34250709/article/details/87154234

2018年20种最佳前端Web开发工具

https://juejin.im/post/5b83e3eff265da434e7390e7

2.1框架

前端主流的框架有vue、react、angular。

vue

优势:
1、轻量级、封装程度高、屏蔽了很多实现细节,并且使用模板语法上手快
2、生态也不错(elemenUI、iview、weex、mpvue可以开发小程序)
3、双向数据流(v-model)在处理表单和input时带来了极大的便捷性。

劣势:
1、API较多,如果不看相关API源码,相当于黑盒编程,
2、模板语法的高封装程度会带来开发自由度降低

react

优势:
1、自由度高(一切皆为js)
2、生态最好(antDesign、material-ui、redux、mobx、Immutable、react-native)。

劣势:
1、jsx的概念有一定理解门槛、上手难度较高,
2、有时需要手动优化性能(shouldComponentUpdate)
3、单向数据流处理表单的时候稍显繁琐。

angular

优势:
1、使用 TypeScript能够提高代码可维护性,有利于后期重构。
2、是一个比较完善的前端MVC框架,包含模板,数据双向绑定,路由,模块化,服务,过滤器,依赖注入等所有功能;

劣势:
1、和传统的js程序员的开发思维有很大不同(强类型,太过于面向对象)。
2、社区比较小,碰到问题解决途径较少,上手难度较高。

个人总结:
vue是一个简洁而且合理的架构,易于理解和构建。
react是非常专注的库,但缺乏经验的团队还是会很容易地生成不可维护的解决方案。
Angular着重于在单个页面应用程序,并没有处理构建完整的web应用。

2.2 语言

三大语言: HTML, CSS,和 Javascript

工具库: jQuery 和 LESS 等

 

2.3 开发环境IDE

前端开发者最常用的六款IDE

https://blog.youkuaiyun.com/xiamiflying/article/details/80758051

IDE: Visual Studio Code、sublime text3

 

3后端

3.1框架

github统计

http://klen.github.io/py-frameworks-bench/

Python Web 框架:Django、Flask 与 Tornado 的性能对比

https://www.jianshu.com/p/9960a9667a5c

 

python语言中的后端框架有Django,flask,tornado。

这三种文档的详细度和框架的复杂度都是django>flask>tornado。而且前二者对于restful API有较好的支持。

Django:

Python 界最全能的 web 开发框架,battery-include 各种功能完备,可维护性和开发速度一级棒。常有人说 Django 慢,其实主要慢在 Django ORM 与数据库的交互上,所以是否选用 Django,取决于项目对数据库交互的要求以及各种优化。而对于 Django 的同步特性导致吞吐量小的问题,其实可以通过 Celery 等解决,倒不是一个根本问题。Django 的项目代表:Instagram,Guardian。

Tornado:

天生异步,性能强悍是 Tornado 的名片,然而 Tornado 相比 Django 是较为原始的框架,诸多内容需要自己去处理。当然,随着项目越来越大,框架能够提供的功能占比越来越小,更多的内容需要团队自己去实现,而大项目往往需要性能的保证,这时候 Tornado 就是比较好的选择。Tornado项目代表:知乎。

Flask:

微框架的典范,号称 Python 代码写得最好的项目之一。Flask 的灵活性,也是双刃剑:能用好 Flask 的,可以做成 Pinterest,用不好就是灾难(显然对任何框架都是这样)。Flask 虽然是微框架,但是也可以做成规模化的 Flask。加上 Flask 可以自由选择自己的数据库交互组件(通常是 Flask-SQLAlchemy),而且加上 celery +redis 等异步特性以后,Flask 的性能相对 Tornado 也不逞多让,也许Flask 的灵活性可能是某些团队更需要的。

 

3.2语言

● 
用于应用构建的服务器端语言: Python,PHP, Ruby, Java, .Net 等;

● 
PHP框架: Zend, Symfony, CakePHP等;

● 
版本控制工具:SVN, CVS , Git 等;

3.3开发环境IDE

pycharm, Visual Studio Code, ...

 

数据库

SQLite、mysql和redis

https://blog.youkuaiyun.com/lzp_k2/article/details/89220928

● 
数据相关工具: SQLite、mysql和redis、MySQL, Oracle, SQL、Server 等;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值