最近几年前端工程化这个事情随着模块化标准( 曾经的事实标准 commonjs,今天的 ES Module )的落地和工具链的成熟,大家普遍都在采用一体化的策略来完成工程从构建到发布的过程。
以我在外网的一些观察,以及自己曾经参与过的 IDE 项目的经历,今天就斗胆说一说自己的设想。
从公开的渠道上我得到的信息是 react 下一步会好好做一做 create-react-app 以及配套的工具产品,vue 相关的 Cli 工具也在发力,angular 就更不用说,方方面面都为开发者考虑到了。
但从我参与的小程序项目来说,这是一个更一体化的开发环境,工程做到最后,其实唯一的目标是为了提速,减少一些不必要的环境和配置,减轻开发者的知识学习过程,这个事情为大厂的前端团队指引了一个道路。
为产品业务赋能,是不是也可以这样?打造一个更高效的工程化工具:IDE, 我们可以设想一下,前端的工程化是不是也在解决相同的问题?
你的业务从一个具体的 IDE 中创建,选择制定的模板,然后初始化完成,在这个 IDE 中有模板有数据流,有模拟器,可以进行开发阶段的对照调试。
依赖 vscode 的生态,所有的智能提示都很顺畅,剩下的就是针对你们厂内部流程环境去做具体的插件,比如版本管理,和内部的 git 结合起来的流程等等。
我们来看看下一步是什么?
如果你是第一次发布,你需要在配套的网站上,选择具体的域名,选择路径包,填上你申请好的机器 ID 或者已经存在的 ID ,点击发布后,IDE 将本地工程进行一次打包,然后上传。
这时,你可以在配套的网站上,点击全量发布或者是灰度,甚至你可以选择灰度的比例,定点的人群和地区。
回到 IDE 上,你可以查看一部分的性能指标等等,在线上的环境还可以做一个小应用来监控呈现。
如果你们厂有专门的人去做这个,并且给产品业务线的开发赋能,我觉得这是一个很好的方向,产品业务线其实不需要过多的关注这些技术指标,在完成具体的业务后,直接上传即可。
发布,构建,这些流程其实都很通用,包括模拟器和 IDE 结合起来,再加上具体的开发方案,肯定真香。
想一想现在流行起来的 serverless 不就是解放了很多后端么?
我认为随着技术的发展,未来的聚合,肯定会有一批工具或者服务在前端领域上,打通一切,给中小企业或者微小企业赋能。
当然大厂的前端们,一定比我们走在更前面。
原文:https://mp.weixin.qq.com/s/HrwlN-tPJUiF7kd8ZWoqGQ
一个完整的前端工程体系应该包括:统一的开发规范;组件化开发;构建流程。开发规范和组件化开发面向的开发阶段,宗旨是提高团队协作能力,提高开发效率并降低维护成本。
前端工程化的概念在近些年来逐渐成为主流构建大型web应用不可或缺的一部分,在此我通过以下这三方面总结一下自己的理解。为什么需要前端工程化。前端工程化的演化。怎么实现前端工程化。
前端工程化的本质是将可以用工具来完成的事情用工具来完成。前端工程化在目前的开发中是不可逆的趋势,每一个身处工作岗位的前端,都应该确立前端工程化的开发思维和开发方法
在我们开发的过程中,经常会遇到这样的问题,开发完了一些代码或者一个接口,别的小伙伴过来问你,代码可不可以给他复用,接口可以给他调用。这说明代码的复用和抽象对团队协作是很重要的
工程师是个古老的职称了。耳熟能详的有建筑工程师,电器工程师等,往往他们在人们脑海中的印象是刻板,严谨,可靠。随着互联网的发展,软件工程师出现了!他们不用一砖一瓦,也不用尺子电钻,计算机是他们的施工现场,代码是他们的工程部件
Web业务日益复杂化和多元化,前端开发已经由以WebPage模式为主转变为以WebApp模式为主了。现在随便找个前端项目,都已经不是过去的拼个页面+搞几个jQuery插件就能完成的了。工程复杂了就会产生许多问题,比如:如何进行高效的多人协作?如何保证项目的可维护性?如何提高项目的开发质量?
在没有 前端工程化之前,基本上是我们是代码一把梭,把所需要的库和自己的代码堆砌在一起,然后自上往下的引用就可以了。 那个时代我们没有公用的cdn,也没有什么特别好的方法来优化加载js的速度。最多用以下几个方案。
优秀的技术方案很多,大部分时候我们感觉只是在现有技术方案里面做排列组合、求笛卡尔积、选择最优解,做出一个最适合当前项目的方案。未来,人类应该编写最核心的业务代码、设置规则
细说起来,它是现代前端工程化不可获取的工具,无论是处理 JS 的 babel,还是处理 CSS 的 postcss,他们的背后都有 browserslist 的身影。
本文讲解如何构建一个工程化的前端库,并结合 Github Actions,自动发布到 Github 和 NPM 的整个详细流程。我们经常看到像 Vue、React 这些流行的开源项目有很多配置文件,他们是干什么用的?
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!