保健励志美文体育育儿作文
投稿投诉
作文动态
热点娱乐
育儿情感
教程科技
体育养生
教案探索
美文旅游
财经日志
励志范文
论文时尚
保健游戏
护肤业界

WEB前端开发的技术选型

  一、目标1。服务端开发。
  没有服务端这一层抽象,没有了服务端路由和服务端中间件技术,前端开发的成果沦为在web服务器上托管一个静态html资源文件夹,毫无疑问是不可接受的!让前端程序员丧失了解决各种复杂需求的可能性。2。以多页为基础。
  架构必须是多页的,单页是数量为1的多页!企图违背W3C关于网站是一系列网页的集合,网页之间通过超链接形成网状导航结构的基本抽象,都是绝对不可接受的。SPA在解决某些问题时非常有价值,但是只能是作为一个局部技术存在。3。包容各种客户端技术。
  不同的网页当然可以使用不同的技术,一个网站内的页面应该是弱耦合的,否则难以实现前端技术的自然演化。甚至,同一个页面内部都应该追求各种技术的可能性,比如webcomponent,或者在一个Html中引入react、vue、jquery等多种技术编写的组件。二、技术原则1。自由。
  使用函数库,使用工具,而不是使用框架。
  使用函数库:自己写代码调用库函数是随心随意的,而不是让框架调用自己写的代码。自己调用代码是主动的,想怎么调就怎么调,不想调用就不调用。让框架调用,就得遵守框架的约束,框架的规范其实也是一种束缚,让代码依赖框架。
  使用工具:模板代码可以使用工具来完成,而不应该固化嵌入在框架中。作为工具生成的东西是直接表达在源代码中的,可以直观理解,还可以根据需要修改,而用了框架之后就成了黑魔法,不好理解还丧失了灵活性。
  很多时候,框架往往也是可以作为函数库和工具来使用。2。自主。
  除了基础性技术(底层或应用层)有技术门槛,上层的应用类的技术,往往不过是对最佳实践的抽象,要审慎评估在具体项目中的价值,能不用就不用,保持自己技术独立性和自主性,长远来说是有收益的。
  底层基础性技术,比如nodejs、pnmp、typescript,以及建立在这些技术之上的资源和生态,是难以取代的。这些是我们应该去依赖的技术。
  应用基础性技术,比如jquery、esbuild、gulp、rollup、koa、vue、svelte,也不是一般的技术公司能能自己实现的,这些技术也是我们可以去依赖的。虽然这些技术也在不断地迭代,比如vue、react、anglar、svelte之间的竞争,但是这样的技术只能选型,作为一个通常的软件公司是不可能去做这些技术的。
  ui界面库大家所熟知的elementui、antui等等,打包方面的webpack、vite、前端框架的next、nuxt、sveltekit、后端的express、egg、nestjs等,对具体的项目,具体的页面来说,直接用html、css、js来堆代码,未必是一个糟糕的选择。自己堆出来的代码,只要具备书写高质量代码的能力,自然会形成自己的积累,自然会产生最符合自己需求的无形的框架。仔细想想,webpack、vite中的支持HMR的开发服务器能有多难实现,如果不实现,只要build是自动的,开发调试的需要基本也就是一个浏览器的刷新点击了。
  这一类应用层的技术可以选择primevue、quasar、vite、nuxt在使用中研究学习借鉴,最终逐步形成自己的技术方案。3。简单。
  最好的架构是不用架构、最好的算法是不用算法、最好的技术是不用技术,不过度设计,尽可能用最基础的技术完成代码的开发,架构、算法和各种建立在基础技术之上的技术都会带来复杂性,带来学习成本和维护负担。对于web开发,css、html、js以及建立在这三个之上基础性技术才是值得认真学习的技术,应用层面的技术学习无助于提升程序开发的核心能力。三、选型1。底层技术路线:nodejs、pnpm、typescript、sass。
  Web前端开发就是UI(用户交互界面)的开发,开发成果为通过浏览器可以请求的页面,所以从本质上来开发成果就是一个供浏览器访问的WebServer。即使是一个静态文件夹放到nginx中,本质上也是一个Webserver。
  前后端分离的核心是明确区分了前后端的职责,后端是提供api的webserver,前端是提供ui的webserver。
  对于简单应用,ui就是一个或几个静态html页面,对于复杂应用,通过服务端路由动态产生页面响应的抽象层就是解决问题的一个关键手段。
  技术线路的选择,核心就是选择语言,不同语言形成了各自的开发生态,程序员的技术积累也是在某种语言上承载的,本质上,语言是人类思维的外壳。
  显然js(nodejs)、php、c(aspx)、java、go等语言都可以用来开发webserver应用。就目前的主流技术,基于nodejs是一个自然而然的选择。nodejs
  deno:尚未成为主流,带来的安全性沙箱、ES模块、TypeScript在nodejs下都有成熟的解决方案。安全更应该用docker不该由语言来考虑,typescript通过构建即可,ES模块在nodejs中有支持的兼容性设计。pnpm
  选择了nodejs,就必然地要选择一个包管理工具,就目前来说,pnpm是优选。
  npm:扁平化的结构,存在重复依赖、幽灵依赖的问题。
  yarn:扁平化的结构,压缩包仅解决了文件数量和空间占用问题。typescript
  类型化是一个强大的生产力工具,结合IDE的智能提示,减少的开发员的查文档和记忆的负担。sass
  less之类的份额越来越少了。2。工具:vite,或者gulprollupliveserver,或者gulprollupkoavite
  对于没有服务端路由的需求,那么vite是最简明的一个傻瓜化的解决方案。
  webpack、parcle:傻瓜化的工具,不灵活,感觉只适用于单页或单体应用,不太遵循网站是一些网页的集合这个基本抽象,vite应该是方向和趋势,gulprollupliveserver
  对于没有服务端路由的需求,除了,vite,另一个选择就是:gulprollupliveserver。
  gulp和roolup是非常基础的工具,大概类比于C的compile和make。grunt、browerify:逐步成为古董了。顺便说一下,对于生产的打包,vite使用的就是rollup。webpack和vite等自带热更新的开发服务器,所以使用gulp、rollup这样的基础工具时,需要借助于liveserver这样的web开发服务器。gulprollupkoa
  对于需要服务端抽象层的需求,gulprollupkoa是一个比较底层的方案。
  构建目标是基于服务端页面的前端Web应用,开发时构建debug版,发布时构建release版,debug启动时在koa服务器中叠加类似vite的HMR功能(事实上,vite最初的1。0版本中就是使用了koa)。虽然koa之上的egg对TypeScript不太友好,但应该和koa本身没有什么关系。
  expess、nestjs、egg:和koa相比express太重了,更不用说建立在express之上的nestjs,以及建立在koa之上的egg。这些框架的目标是api和ui通吃的web框架,涵盖了后端业务层的开发目标,不符合前后端开发定位中仅仅服务于ui的目标。
  nextjs、nuxtjs、sveltekit等,不符合包容各种客户端技术的目标,这三个框架分别和react、vue和svelte深度耦合,框架的可扩展性有限。3。框架:vue3或者svelte
  如雷贯耳的react、vue和angular这样的框架,引领了web前端好几年了,逐渐暴露的缺点是封装太重了:和w3c标准不太相容,代码的直观表达性太差,学习成本高,把前端越弄越复杂。
  根据现在的前端技术生态,先选择vue,逐步过渡到svelte。
  angular的份额已经显示出疲态,为什么不选择react,而选择vue呢?我的非常另类的理由是vue更像svelte!vue3学习曲线比react要平缓,至于其他的技术比较,应该是各有优劣,而且技术越来越趋同。4。UI库:bootstrap
  ui组件库,选择实在是太多了,基本上每家有点名气的互联网大厂都会开源一个出来。不论选择哪个库,都存在需要对其修改以满足项目需求的问题,所以,最好的选择是不选择整套的界面组件库,而是基于开放的css框架bootstrap,逐步编写和积累自己的UI库,对于复杂的表格组件、树控件组件等等,单独选型。
  在自己做基础的UI组件时,有两个可以用来分析学习的组件库:primevue,体量适中、是专做组件库的、组件功能齐全、还有一点样式和功能分离的独特设计。quasar是属于巨无霸型的前端组件库,可以拿来研究借鉴,学习解决各种领域的前端问题。

大气的姐姐的作文我的姐姐文650字姐姐是一个在学校文文气气,在家顽皮又搞笑大大咧咧的人。她,一张不大的鹅蛋脸上压了不少沉甸甸的头发,水汪汪的眼睛里藏着无穷无尽的奥秘,鼻子高翘而有趣……展开自由的翅膀作文亚里士多德认为,教育应是以自由发展理性为目标的。诚然,真正的教育,理性的教育便应是如此。自由的教育给予我们的是广袤的天地,我们可以展开翅膀,遨游天际。自由的教育提供的是丰……科幻作文十五年后的家乡时间过得真快,一转眼十五年过去了,现在此时的我已经成立了一家大公司,当上了大老板。尽管这样,我还是思念家乡。那里是我童年的美好记忆。我让机器人看家,自己踏上了回乡之路。我……沉鱼,落雁,闭月,羞花沉鱼。春秋战国时期,越国有一个叫西施的,是个浣纱的女子,五官端正,粉面桃花,相貌过人。她在河边浣纱时,清彻的河水映照她俊俏的身影,使他显得更加美丽,这时,鱼儿看见她的倒影……玻色量子与北京量子信息科学研究院光大科技达成战略合作近日,光大科技与北京量子信息科学研究院(以下简称量子院)、北京玻色量子科技(以下简称玻色量子)有限公司正式签署三方战略合作协议,三方将在金融科技应用、人才培养、共建实验室等方面……我调皮妹妹作文导语:这就是我的妹妹,既淘气又可爱的妹妹!下面是由小编为你整理的我调皮妹妹作文,欢迎大家阅读。我调皮妹妹作文篇一我有一个可爱、可恨、可气的妹妹。我的妹妹头上梳着两个……想入二手相机,犹豫微单还是单反,自用,打算配50。181。2我来回答摄友的提问,题主想买二手相机,其实方案很多,自用也没有必要倾向无反或单反相机。先解释一下;相机产品中,微单仅是索尼无反相机微单tm冠名,并非泛指各厂家的无反相机均……不深不浅种荷花作文800字犹记以前读川端康成的《雪国》,梦中都回荡着那和服女子的温润笑靥,便痴痴地到花市上买了株樱花来,也盼着一日如霞烟云可映着我家屋檐。谁想不几日,那花竟死了。老农听着我的叙述,……我是奇葩作文800字世界上最了解我的人就是我自己了。我发现,我是个典型的奇葩。吃货有的人觉得我很瘦,肯定不爱吃东西,那你就错了,我可是一个十足的吃货。有的人是见钱眼开,而我却是见……难忘那鼓励的眼神优秀作文难忘那鼓励的眼神,从小到大,被铭刻在心里,倒映在眼睛里,融化在血液里。难忘那鼓励的眼神,是失败后再来一次的勇气。在烈日炙烧的跑道上,一个眼神,一次拼搏。小时候,同学们一起……余承东华为应用市场全球月活跃用户达5。8亿华为消费者业务举办线上智慧办公春季发布会。会上,华为消费者业务CEO宣布,面向全球发布了首款墨水屏平板MatePadPaper等设备。除此之外,余承东还宣布,华为应用市场……游西塘古镇作文六年级在游览西塘古镇之后想要写一篇相关的作文,那么应该如何写作文的内容呢?下面就和小编一起来看看吧。游西塘古镇作文六年级【第1篇】西塘位于浙江省嘉善县,是一座有着千年历史文化的……
如果支付宝倒闭,我们在里面的投资钱和余额宝的钱,还要得回来吗第一,支付宝不会那么容易倒闭。支付宝的背后是蚂蚁集团,以前叫做蚂蚁金服。下半年以来,蚂蚁集团遭受了非常多的打击,如被暂缓上市、互联网存款产品被叫停等。但这些打击只是会影响蚂蚁的……寻找陨石有哪些方法?你愿意成为一个陨石猎人吗?不是专业的,只喜欢去戈壁滩捡石头,偶遇陨石,只是根据熔流纹、气印、融壳、吸磁性、处的地理环境来判断是否是陨石。找对地方,找懂得的人,学习陨石基础知识,能不能找到就是陨运气……跳级啊,宋思齐你要跳级,那我们见面的机会就减少了,你可不可以不跳级呢?唉!父命难为,我也不想啊。而且这也是我在五年级(7)班上的最后一节课了。一个星期一的下午,我们正在上第三节课,……一个男人,最烧钱的爱好或兴趣是什么?在以前人们都说,假如一个男人在吃、喝、嫖、赌方面,染上一个就足以败家,现在看来,随着社会发展和人们生活水平的提高,在吃、喝方面已经花不了多少钱,但嫖和赌却是一个无底洞,如果男人……身怀尖端黑科技,引领时尚新潮流!三星GalaxyZFlip3随着产业的发展,智能手机产业一度变得越来越保守,直到折叠屏手机的横空出世,给行业带来了诸多惊喜。以三星GalaxyZ系列为代表的折叠屏产品,用尖端科技成功惊艳了全球的数码爱好者……空调E度网专稿未经允许不得转载我是一台空调。我穿着白白的衣裳,就像冬天的雪花一样白,长得正正方方,最为突出的是我的嘴巴,又大又长,中间还有一根窄长的舌头。我也是一个宝,……初中生活作文800字初三导语:初三了,回忆初中三年的生活,你收获了什么呢?下面就分享初中生活作文800字,希望对大家有帮助!篇一:我的初中生活时光荏苒,不知不觉中三年的初中生活即将结束,我们也即……我的好朋友书三年级作文我有一个知音朋友,那就是书。在我的生活中,每一天都离不开书,因为书总能给我快乐、知识、帮助。每一次看书,我总被书给吸引,不知不觉中好像来到了童话王国,有许多动物围着我,快……美的和格力的空调比其他的贵,它贵的理由除了牌子响亮之外,还有从长远的来看,建议看一下空调的能耗,同样制冷效果,能耗指数越小越好,节电节能。美的空调,隶属于美的集团,是集家用、商用空调产品开发、生产、服务于一体的经营平台。除顺德总部……为什么有人宁愿溢价买华为,也不考虑现货有性价比的小米手机?我16年时买的水货果5,当时因为在工地上跑,水果机的通病大家都知道,电池特别不耐用!当时很努力的网上抢几次小米都没抢到,渐渐就没兴趣抢了!实体店同型号要贵五百左右。后来拿……关于旅游的作文泰国之游(二)泰国,一个有万象之国、千佛之国、黄袍之国美称的王国,星期四,我们一家乘飞机到达了泰国,开始了我们的泰国之旅。由于我们第一天晚上才到达,所以我们就直接去了酒店休息,第二天一……如果全人类团结一致,动用所有资源能造出宇宙战舰吗?可以造出什如果全人类团结一致,动用所有资源能造出宇宙战舰吗?可以造出什么程度的战舰?这是一个非常有趣的话题,人类团结一心确实能办成难以想象的工程!就如《2012》中人类将制造诺亚方……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网