单页应用技术的对比
我相信大家对于单页应用其实并不陌生,因为现在大量的 App 软件就是通过单页应用开发出来的。
从技术栈来看,单页应用可以使用许多服务器技术,使得后端(服务器端)得以解放,通过下图就可以很好的看出变化。
对于单页应用,我们可以通过 JQuery,React,Vue,以及 Angular4+(这里的 Angular4+ 表示 Angular4 以及以上版本,也不是 AngularJs,后面不在多做说明)
上面说的这么多技术,为什么我最喜欢使用的还是 Angular4+,因为:
- 开发用的是 TypeScript,它是 Javascript 的一个超集,它有类,有模块,有函数的概念,同时它既可以是动态的类型,可以是强类型的,这个非常好,这些特点比 java8 还要先进。
- 不用太多关心 Webpack 这一类打包工具的配置,很节省时间,都由它的 CLI 帮你搞定了,当然一些特殊的,还是需要调整对应的编译脚本就行,而且使用 --proc 参数编译出来的文件会压缩的非常小。
- 官网也非常给力,这一点 Google 确实做的很好,大家只需要认真的跟着它的官方教程做一遍就可以很轻松的入门了(最多半天时间)。
- 很多人都喜欢用 Vue,但在比较复杂的项目中,经常会用到响应式编程,在响应式编程方面它就不如 React 和 Angular4+ 了,还要一些其它的方面,比如安全,测试,国际化,服务,路由,服务器渲染方面,angular4+ 都是支持的最好的(这里不多做解释)。
问题来了,为什么 Angular4+ 被我说的这么好,为什么国内使用情况比较少呢,其实最关键的问题,大家都没有太多的时间去尝试新的(害怕里面的坑太多),什么简单、方便就用什么,不需要太多的学习时间,还有就是很多同学被之前的 AngularJs 坑了(已经产生心理阴影),从 Angular2+ 开始是一门新的技术,使得学习成本大增,所以很多人就选择放弃,这也是人之常情。
总结
最后,是我对使用 Angular4+ 以后的一个总结。从项目结构来看,Angular4+ 将开发文档分成了 Html(模板),CSS 以及 Typescript,核心在 Typescipt 上。它可以让你的模块、组件有自己的控制级别,最小的界别应该就是一个标签的属性了,例如,我给 p 标签增加一个 ai 属性,表示它是 p 标签的一个人工智能的属性特征,使用的人在 p 标签中写一个 ai=“true”,就可以实现非常复杂的效果,使用的人根本可以不用了解细节;最大的界别的就是模块,这个里面可以包含组件,对于团队开发来说真的很方便。最后就是,它是渐进式应用,免安装,可离线使用,可借助 Ionic、NativeScript 和 React Native 构建原生移动应用,或者生成 windows、macos、linux 的跨平台的桌面程序。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于