最近在知乎上看到的一个提问做前端技术方案选型的时候,你是怎么做决策的?想起一年来自己所做的项目,全都是一个人在做选型,能力也在一步步中培养起来。
最重要的是看项目需求,决定前端技术方案选型
大大小小的项目做过很多,就拿一些做过的项目来举例吧
1:pc端网站
刚刚去公司那会,接手网站的时候,后台是用wordpress搭建的,php语言支持,网页部分用的是jQuery+bootstrap,只能在wordpress后台进行管理,修改部分前端代码,不是很方面。遇到pc端的网站,一般都是套用模板
模板之家:网页模板,网站模板,DIV+CSS模板,企业网站模板下载-模板之家
源码之家:源码之家 - 提供最新免费网站源码下载!
这两个网站上的资源较多。
2:当网站被黑
由于后台管理的疏忽和缺乏,导致公司官网被黑,总监开了紧急会议,既然没有懂php的人才(之前的项目是找外包做的),宕机过程中客户来源也在不断的流失,三天之内,找一个网站模板先代替使用
这个模板既适用移动端又适用于pc端网站,就是一套官网,适应多个终端
这个时候,前端技术方案选型,我就想到要使用响应式布局
响应式布局可以为不同终端的用户提供更加舒适的界面和更好的用户体验,而且随着目前大屏幕移动设备的普及,用“大势所趋”来形容也不为过。随着越来越多的设计师采用这个技术,我们不仅看到很多的创新,还看到了一些成形的模式。
在源码之家源码之家 - 提供最新免费网站源码下载!找到了一套公司企业官网,响应式布局,分别在手机上测试了一下,适配性做的很好,抛开移动端的加载性能在网络比较卡的时候跳转页面稍微慢一点之外,其他的都符合需求。
这套框架是用amazeui框架写的,Amaze 妹子 UI 中国首个开源 HTML5 跨屏前端框架
3:后台管理系统bootstrap admin+jquery+layui
公司的主要业务在于做一套后台管理系统,通过用户的操作,但是是基于上一个项目所开发的代码继续写,要求扁平化,看上去风格偏向于年轻化,AdminLTE和bootstrap admin 模板都很适应,本来想着更换一套模板,重新写,将之前的项目弃之不用,但又觉得太浪费时间,为何不理理清楚之前的项目代码,虽然有些模块杂乱且多余没有条理,改起来别人的项目真的很头疼....
关于layui,有两句话想说
一开始不打算用这个框架的,但是随着业务的增多,我们知道在bootstrap里面,Bootstrap 模态框(Modal)插件,模态框(Modal)是覆盖在父窗体上的子窗体。通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动。子窗体可提供信息、交互等。
在具体项目要求中,新增一个弹窗,弹窗里面信息过多,写在一个jsp页面里面显然太过于杂乱,若是这个弹窗里面加载地图的一些信息,会出现莫名其妙没有办法解决的bug,无奈之下,只好引入Layer框架
Layui 是一款采用自身模块规范编写的情怀型前端UI框架,遵循原生HTML/CSS/JS的书写与组织形式,门槛极低,拿来即用。
https://www.layui.com/
4:微信公众号的开发weUI
之前没有接触过移动端的开发,尤其是微信公众号,特此拿出来比较了一下,还写了一篇文章,最终为了求稳,选择了weUI
技术选型,移动端最常用的四个框架对比之后
移动端最常用的四个框架 - CSDN博客blog.csdn.net
5:小程序开发
17年年底,小程序突然火起来了,公司要求开发一款自己的小程序,于是研究了一个星期,花了一个星期的时间开发,由于项目只有十个左右的简单界面,没有使用框架
在此之前,也分析了一下小程序的开发选型,微信小程序常见的UI框架/组件库总结
想要开发出一套高质量的小程序,运用框架,组件库是省时省力省心必不可少一部分,随着小程序日渐火爆,各种不同类型的小程序也渐渐更新,其中不乏一些优秀好用的框架/组件库。
微信小程序常见的UI框架/组件库总结www.jianshu.com
6:下一个移动端项目,技术选型Vue.js + vue-router +webpack
一直在学习vue,但是一直不敢使用在公司项目里面,怕会踩到坑导致进度变慢,不做没有把握的事情,随着业余时间对这个技术的练习,发现真的是好处多多
优点:
1. 简单:官方文档很清晰,比 Angular 简单易学。
2. 快速:异步批处理方式更新 DOM。
3. 组合:用解耦的、可复用的组件组合你的应用程序。
4. 紧凑:~18kb min+gzip,且无依赖。
5. 强大:表达式 & 无需声明依赖的可推导属性 (computed properties)。
6. 对模块友好:可以通过 NPM、Bower 或 Duo 安装,不强迫你所有的代码都遵循 Angular 的各种规定,使用场景更加灵活。
总结:vue 综合了angualr和react的优点,是国人写的框架,易上手,轻量级,受到广泛的应用。
前端的框架和知识点,很多,也很杂乱,在这些知识点中,选出最接近自己项目需求的技术栈,才是最重要的