ext前端框架
常见的前端产品形式包括:
基于内容的网站:注重渲染优化,前端逻辑占比小
运营B/S系统:以数据和逻辑为中心,界面更规范
Web嵌入式原生应用程序:处理缓存和一些原生接口,包括PC客户端和移动端
这三款产品的前端框架显然不一样,所以可以细分为2-3个项目模板,整理出对应的种子项目用于同类产品的初始化。
选择前端框架要综合考虑框架本身和团队的情况
框架的选择应该从两个方面来看,一是框架的能力,二是你团队的能力。
很显然,我们的第一步是将最流行的框架和库确定为评估对象,然后根据我们自己公司的情况进行筛选。贵公司是网站建设公司还是拥有自己产品的公司?如果是网站建设公司,页面不会复杂。基本上,jQuery+Bootstrap可以做到。不要想太多,仅此而已。如果你有自己的产品,你需要维护大量的客户数据,你必须和客户打交道。不难想象有一个非常复杂的CRM系统。按照中国人的特点,这件事只会越来越复杂,要慎重考虑。这通常是持续十年的维护升级。我们需要看某个框架是否和你的产品一样长,这个框架的升级是否频繁流畅。
以下是目前常见的主流技术参考资料,按照github的关注度排名:
架构框架
构建工具
CSS预处理
大型项目应尽量避免使用Google产品
如果您的项目是一个跨越三年以上的大型项目。我们需要使用更强大和成熟的技术方案,我们需要重点避开谷歌的产品。它的很多产品都是打票性质的。GWT、Closure和Darty是经验教训。Polymer建立在许多新技术之上,其中Object.observe()、CustomElements、HTMLImports、ShadowDOM、Model-DrivenViews还远未标准化,很多还是排他性的,变量太多,这就是为什么它们如下图所示。悲剧。Angular不是我在破解它。这玩意也喜欢悬崖式的升级。它与1.08中的IE6-8兼容。需要打补丁才能兼容1.2中的旧式IE。1.3放弃兼容旧式IE,直接从源码中删除所有兼容代码,所以所有补丁方案无能为力,不支持全局Ctrl功能,很多模块需要独立引用,1.4不支持动画模块往下看,2.0是从at构建到ts,因为用到了Object.observe(),所以不支持IE6-11,Chrome30…
后台系统可以考虑EXT、EasyUI、avalon等国内优秀的框架,也值得考虑
如果您的产品是后端系统,那么您有两种选择。使用主要的UI库解决方案,例如EXT和EasyUI。其中,EXT具有严重的排他性,很难与其他前端解决方案一起使用。什么模块组织、打包、数据可视化,它已经可以帮你做到这一切。它的文档完整漂亮,入门难度中等,但是需要你的团队非常稳定,现在很难招到全职的EXT前端。EasyUI是国内比较大的UI框架。虽然它是闭源的,但扩展它并不难。
对于重度SEO产品,可以考虑jQuery+Bootstrap+RequireJS的组合
如果你的产品是像商场这样的demo重的产品,对SEO有要求,MVVM不适合。目前,Angular和avalon正在研究后端渲染机制,但还没有上桌。这时候jQuery+Bootstrap+RequireJS就非常有用了。RequireJS的作用不仅仅是提供了一个按需加载的机制,它还允许我们组织更大的代码。如果不需要RequireJS,国内的另一个选择是SeaJS,它的规范是CMD。另外还有CommonJS规范,但是这个不能直接在前端运行,需要借助fekit、FIS、Webpack等构建工具进行合并。无论如何,此时你选择的框架必须有AMD、CMD或CommonJS的任何加载规范,方便你以后横向扩展。至于插件,目前小插件倾向于使用UMD,可以通过AMD、CMD、CommonJS等任何加载器加载。
Bootstrap主要针对桌面市场。Bootstrap3提出移动优先,但桌面仍然是Bootstrap的主要目标市场。Bootstrap主要基于jQuery进行JavaScript处理,并支持LESS进行CSS扩展。如果要在Bootstrap框架中使用Sass,则需要通过Bootstrap-Sass项目添加兼容性。Bootstrap框架在布局、布局、控件、特效方面都非常令人满意。预设丰富的效果,极大的方便了用户开发。在样式设置方面,用户在下载时也需要手动设置。可配置的粒度很细,对应的比较繁琐,不直观。您需要非常熟悉Bootstrap才能对其进行配置。
jQueryUI是jQuery项目组对桌面的扩展,包含丰富的控件和特效,与jQuery无缝兼容。同时,jQueryUI预设了多种样式供用户选择,避免了刻板印象。如果对预设样式不满意,还可以通过jQueryUI的可视化界面,自行配置jQueryUI的显示效果,非常方便,高端大气。
移动技术令人困惑,需要多管齐下
如果你的产品是移动的,它基本上是一个SPA架构,因为它会减少等待、整页刷新和请求。目前,该领域非常混乱。与PC端不同的是,要兼容的浏览器要多N倍,而出于性能考虑,浏览器hack功能或更改某些浏览器功能的行为往往会导致一些奇怪的bug。理清这些坑和解药。但目前还没有可以解决所有问题的框架,需要多管齐下。我的意见是:
RequireJS(按需加载,可以在移动端解包,利用好304缓存,腾讯出了更强大的增量更新加载器MT,你也可以试试)+Backbone(组织代码和路由管理)+Zepto(轻量级DOM操作)+fastclick.js(点击穿透和延迟处理)+Hammer.js(各种触摸屏事件)+iScroll5.js(滚动条处理)+Animate.css(CSS3动画)+Enquire.js(处理响应式布局)。
可以看出,移动端的每一部分都烂到了极致,每一部分都需要专门的工具来维修。移动端非常注重体验。每个小角落都有各种各样的动画,但是浏览器或者内置的WebView很差,所以Native和Hybird的话题一直很火。有人说,既然DOM最吃性能,那干脆用Canvas代替。Facebook也推出了自己的类似解决方案ReactNative,并实现了一个GUI,但编程语言是JavaScript。它是使用自己原创的超高性能轮子React实现的。这可能是一条路。但优缺点也很明显。就像Angular强大的Java风格一样,React将大型标记语言(JSX)插入到逻辑中。同时,React的排他性也很强,很难与其他库一起使用。同时我们也可以看到,出自著名的jQuery家族的j??QueryMobile并没有入围,性能差到连SenchaTouch都不如。以上只是核心库,UI库还没有搬出来。有许多称为MobileFirst的UI库。因为他们忽略了IE,所以他们可以大胆地使用CSS3。目前比较优秀的有Foundation、Semantic、Refill和Ratchet。如果你只是想在平板上运行,性能问题不会那么紧张,我们也可以试试inoic、SenchaTouch、KendoUIMobile……
webgis前端框架
前端:
1、老一代两大富应用(RIA)框架(目前已经停止更新):flex、silverlight
2、其他开源(早期项目较多):openlayer2、amap、bmap、ArcgisAPI4JS(3系列版本)
3、较新框架:openlayer3、cesiums、ArcgisAPI4JS(4.0之后版本)、
4、轻型框架(需要二次封装):WebGL(例如d3.js、three.js)
后端:arcgisServer、geoserver、mapserver
评论前必须登录!
注册