当前位置:首页 » 网页前端 » 前端框架选型
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

前端框架选型

发布时间: 2022-02-10 17:25:40

‘壹’ 除了bootstrap,还有什么好的前端框架

Bootstrap比较全面了,其它做的没有他全,但也各有特色。

99lime
Skeleton
Fbootstrapp 基于Bootstrap 类似facebook的UI

‘贰’ 选择哪一个Web前端框架

bootstrap
比较流行

‘叁’ 目前有哪些比较流行的前端框架,大家聊聊

第一阶段:库/框架选型

前端工程建设的第一项任务就是根据项目特征进行技术选型。

基本上现在没有人完全从0开始做网站,哪怕是政府项目用个jquery都很正常吧,React/Angularjs等框架横空出世,解放了不少生产力,合理的技术选型可以为项目节省许多工程量这点毋庸置疑。

第二阶段:简单构建优化

选型之后基本上就可以开始敲码了,不过光解决开发效率还不够,必须要兼顾运行性能。前端工程进行到第二阶段会选型一种构建工具,对代码进行压缩,校验,之后再以页面为单位进行简单的资源合并。

前端开发工程化程度之低,常常出乎我的意料,我之前在网络工作时是没有多少概念的,直到离开大公司的温室,去到业界与更多的团队交流才发现,能做到这个阶段在业界来说已然超出平均水平,属于“具备较高工程化程度”的团队了,查看网上形形色色的网页源代码,能做到最基本的JS/CSS压缩的Web应用都已跨入标准互联网公司行列,不难理解为什么很多前端团队对于前端工程构建的认知还仅停留在“压缩、校验、合并”这种程度。

第三阶段:JS/CSS模块化开发

分而治之是软件工程中的重要思想,是复杂系统开发和维护的基石,这点放在前端开发中同样适用。在解决了基本开发效率运行效率问题之后,前端团队开始思考维护效率,模块化是目前前端最流行的分治手段。

很多人觉得模块化开发的工程意义是复用,我不太认可这种看法,在我看来,模块化开发的最大价值应该是分治,是分治,分治!(重说三)。

不管你将来是否要复用某段代码,你都有充分的理由将其分治为一个模块。

JS模块化方案很多,AMD/CommonJS/UMD/ES6 Mole等,对应的框架和工具也一大堆,说起来很烦,大家自行网络吧;CSS模块化开发基本都是在less、sass、stylus等预处理器的import/mixin特性支持下实现的。

虽然这些技术由来已久,在如今这个“言必及React”的时代略显落伍,但想想业界的绝大多数团队的工程化落后程度,放眼望去,毫不夸张的说,能达到第三阶段的前端团队已属于高端行列,基本具备了开发维护一般规模Web应用的能力。

‘肆’ web前端框架选择有规律么,选哪个比较好

基本上流行的就那几种。选择的时候首先要保证能满足你的需求,其次要比较容易的学习上手,然后还要考虑运行效率,框架自身的大小,等等。比较火的是angularjs,react,easyui,jqueryui等等。我个人比较喜欢angularjs,大而全,基本上该有的都有了。缺点就是有点臃肿。但是如果你做的系统是应用在内网而不是互联网,用它就没错。

‘伍’ 新组建的前端团队如何选择前端框架方案

首先需要确定你们想做什么类型的产品。是游戏还是网页?既然在游戏开发分类里面,我就认为是在做游戏开发吧。游戏可以选择cocos2dx或unity3d; 目前流行的就是这两款。cocos2dx专业是做跨平台的手机游戏的,unity3d端游和手游都可以做。在通信构架上,可以选择同步或异步的,这个可以根据产品来定。

‘陆’ 现在前端框架什么最火

第一阶段:库/框架选型 前端工程建设的第一项任务就是根据项目特征进行技术选型。 基本上现在没有人完全从0开始做网站,哪怕是政府项目用个jquery都很正常吧,React/Angularjs等框架横空出世,解放了不少生产力,合理的技术选型可以为项目节省许...

‘柒’ 如何选择适合的前端UI框架

现流行开发框架太多,眼花缭乱,活着学着。
本来我觉得这写只是更偏向UI的框架, 个人觉得像react, backbone, angular之类的才能算是真正的前端框架。

‘捌’ web前端框架选型疑问请问angularJS,React,vue选哪个好

这个问题不是很好回答:毕竟这个和业务场景和团队成员相关!
从技术角度出发,这几个技术框架都有其各自的优点!前提是需要会其配套的技术,这里需要说一下基本会用到一些新技术:打包工具、路由、状态管理组件,UI组件,ajax封装组件,当然还有会用到es5 es6的较多语法!这些技术的集合,有个准备后,这样用到实际的项目中,才能比较快捷的实现客户的需求,和功能的开发!
至于你关心的选哪个好,其实有一句玩笑话比较概括说明了:面向老板编程,老板说用哪个就用哪个呗!(补充:最好选择整个团队都比较擅长的技术,这个才是最靠谱的!)

‘玖’ 众多前端框架选择哪个一个作为电商框架最为推荐

现在的Vue和React都能支持服务端渲染,在服务器上把数据和模板做结合,是可以解决SEO的问题,缺点是成本比较大。如果作为学习入门的话,Vue是最容易入门的,React更适合大型系统的开发,angular学习成本比较高。

‘拾’ 如何做商业前端框架+UI库选型

这将帮助你了解前端社区中海量的工具。

当然,这些只是一些可选的列表,当你需要做出选择的时候帮助你抉择。


我自己使用它吗?

是的,当我需要开始项目的时候,我用它来作为提醒。

同时,每当有人问“我该使用什么框架呢?”的时候,我就会把这篇文章给他看。

因为,正如你明白的,事情没有绝对的对与错,但是有一些优质的框架能够帮助做出我们更好的选择。

另外,我也会不时的更新本文,因为有时候当我学习更多后也会改变当初的想法。
我应该怎样开始?

如果你的项目不是很小,你应该需要下面几件事:


  • 项目模块化 我个人比较喜欢 Component-based architecture,因为他适用于 various-frameworks


同时,考虑一些其他的例子,比如 BOT 、 Elm Architecture 或者 re-frame 或者 CycleJS


  • 模块加载器(RequireJS,Browserify, Webpack, ComponentJS, SystemJS)


这些东西能够帮助我们保持Javascript(或者components)彼此独立和可维护。


  • 包管理器(npm, jspm, bower)


我个人一直比较喜欢 npm ,似乎他是javascript和nodejs真正的标准。另外我会考虑bower来做补足,因为他是一个很好的下载静态资源的工具,但它在管理组件和依赖又不如npm强大。


  • 自动部署/编译/构建流水线(grunt/gulp/brunch/broccoli)


因为,如果一直做重复的事情的话生命是很短暂的。


  • CSS预处理(jss/stylus/sass/css-moles)和 postprocessors(css0, autoprefixer, postcss)


这些工具使css更美好,去除了一些浏览器兼容的问题。是的,我是从2015知道这些的,但是不论如何,它在过去确实是痛点。


  • 构建框架(Bootstrap, Zurb Foundation, Elemental UI, Material Lite)


这些框架让很多web开发者合作,它们会帮助你处理基本的布局和样式。

尽管,你可以考虑构建你自己的解决方案,如果你感觉构建很厉害或者希望成为前端专家,或者你需要为你的公司构建基本的视觉元素。

如果是这样的话,建议你尽快使用方法论(BEM, OOCSS),它们可以帮助你节约时间。

我个人比较喜欢 BEM 命名方式和基本工作流,你能够从 styleguide for Brainly.com找到一些可以帮助你的灵感。

如果你不构建基本的组成,建议看一看 HTML5 Boilerplate

测试工具(jasmine, karma, mocha, tape, itern)

任何人都需要测试,没有例外的。

代码质量监控工具(eslint, husky, editorconfig)

可以获取帮助的社区(chats, IRC, meetups, twitter)

好了,下一步呢?

在选择你的工具前有一些值得思考的问题需要解决。

准备好了吗?

我需要和其他人合作吗?他们是谁?他们想要什么?

这个问题会帮助你选择语言和工作流,这对你和你的伙伴都有帮助。

我最关注什么?质量,开发速度,还是可维护性?

这样你可以决定是否试验一些新工具,以及是否能承担失败的风险。

是否需要开放给第三方?

面向的团队不同可能会限制我们语言的选择。

我是否在处理核心的项目

如果你处理核心项目,请最好选择高稳定性的语言和框架,这更安全,让你睡得更好。

是一个可交互的app还是基本的文档页面。

结果很可能是你仅仅需要基本的HTML +CSS + tools,或者静态网站生成器或者CMS。

这是一个单一的项目还是其他项目的相关项目?

即使你有一系列项目,你也应该用一些组件和样式引导,这些有不错的文档。

直接减少代码重用,保持一致性。

另外,考虑SEO,和服务端渲染。
语言列表

当你回答完上面这些问题后,就可以和你的队友聊聊,然后选择一个语言了。

因为这里有很多的东西,而不是糟糕的Javascript,你可以选择

是否有js开发团队

考虑ES6(babel兼容)

这会让你的生活简单一些。

你是否偏爱typed语言?开发typed是否可以?

考虑 typescript

函数式编程是否接受?

你可以从简单ES6库开始,比如 lo-dash 或者 ramda。

这里有一些教程和书来帮助你开始美好的旅行。

你是否尝试过函数式编程,想要更好的东西?

试试 elm ,很酷的!

你是否能够全栈?

试试 clojurescript,很酷很酷的

你喜欢沙拉吗?

试试scalaJS

你知道Haskell吗?

试试 purescript,真的很酷

想要更多疯狂的?

这里有一个可以编译成javascript的语言列表,选一个然后享受吧。
框架列表

你仅仅需要基本的可运行的app?

没有时间做更复杂的工作?

试试 angular. start looking for help imediately

你是否经常需要快速的原型开发?

是否能在未来修复一些问题?

试试 angular. 一些问题

你是尝试前端开发的后端?

试试 angular. 寻找一些前端开发者

你是否需要很快的进行开发和构建,但是同时会丢失一些特点?

试试 ampersand/backbone

同样的技术选型,怎样从中型到大型?

把 marionette/chaplin添加到你的backbone里面去,另外可以考虑 Reackjs

你是否有一些时间来实验,同时得到很大的性能提升?

试试mithril/knockout/aurelia+

你是否有不错的前端实验精神,对函数式编程熟悉?

试试 ReactJS+Rex+ImmutableJS+

更多函数式编程技巧?或者偏好交互性强的应用?

使用 reactive streams(bacon, rxJS) 或者试试 Cycle.js(实验性)

注意1: add streams any会是很好的选择,可以推荐别人使用。

注意2: 请不要拒绝使用 FRP的reactive streams

你想要使用严格的验证和通用处理方式?

你的应用会越来越大?

你计划扩充你的团队?

你有时间学习新东西?

建议花时间学习 EmberJS,他将会是很好的投资!

你是否需要“类桌面应用”?

你的应用有表格,图例,或者其他分析功能?你在构建企业应用?

试试 ExtJS

你们是一个为其他开发者提供服务的工作室?

你最好有一个不错的工具集,另外,同事之间最好有一些公共用例。

你是一个为他人提供工具的自由开发者?

适应他们的选择。

尝试angular,这将不会造成多大麻烦,让其他人得到他们想要的。

注意:如果别人付费,请不要改变客户的需求

你正在构建一个有吸引力的产品,它将会很多人使用?

有了明确的需求后我们就从上面的列表中选择一个合适的框架。

关于开发什么样的应用你有明确的需求(比如10屏的移动应用)

花两周时间来试验特定的需求(ionic, famous, Sencha Touch)

怎样开始编码?

花一些时间阅读你所选择框架或者工具的文档。
在社区里面询问一些经验开发者怎样算是优秀项目的开端。
准备所有的工具。
极客精神。但是我建议更加工程化一点。
...
成功。

不知道怎么用我介绍的一些不常见框架?

看看 TodoMVC Examples,找到你选择的框架。

但是记住,这些项目只是示例,大多数情况下他们不适合大中型项目。