TS TS为什么会出现?
1.js是一门弱类型而且还是动态类型的语言,语言本身的类型系统是非常薄弱的,当js去开发大型的前端项目,开发成本和维护成本都会非常的高 2.而ts是一门基于js基础之上的编程语言,它在javascript原有的基础之上多了一些扩展特性,主要就是一套更强大的类型系统和对ECMAScript新特性的支持. - List itemTS的意义:
1.类型系统可以帮我们避免开发过程中有可能出现的类型异常 提高编码的效率,以及代码的可靠程度 2.ECMAScript几年迭代了很多非常有用的新功能,但是在很多陈旧的环境中都会出现兼容问题,Ts支持自动转换这些新特性,所以我们可以立即去使用它们 3.Ts最终可以选择编译到最低es3版本代码,所以兼容性强 4.Ts最终也是编译成js来运行,所以只要支持js的应用程序都可以用ts来开发 5.Ts应用逐渐广泛,例如:浏览器应用,nodejs应用,react native等,vue3.0也是全面用ts来重写 6.如果你开发的是一个小项目,可以用js更适合,如果是一个长周期的大型项目,那么ts是你的不二选择 - List item服务端渲染(SSR)
目前主流的前端框架都是采用客户端渲染模式
所谓客户端渲染就是从服务器端发回来的html当中是没有任何内容的,所有的页面内容都是等到页面当中的js执行之后才会动态创建出来 - List item这种模式的弊端就是
1.页面的’白屏’时间更长,用户体验不好 2.html中无内容,SEO(搜索引擎优化)不友好 - List item如果用服务端渲染的话,这些问题就能很好的解决,因为
传统的客户端渲染模式就是在服务端接收到请求过后,需要找到对应的html静态文件,然后返回给客户端。而服务端渲染模式下面,当服务器接收到请求过后,会先执行一遍对应的js,让页面在服务端先渲染一遍,然后将渲染后的结果返回给客户端 - List itemserverless
Serverless是一种架构模式,翻译过来应该叫作无服务器架构
它带来了一种全新的开发体验,对于使用serverless架构进行开发的项目,开发者最明显的感受就是更关注应用的业务本身,不必再去过多关心服务器和运行平台的一系列问题 - List item传统去开发一个web应用,除了需要考虑业务本身,还要考虑很多其他方面的东西,例如
服务器操作系统,虚拟机,硬件资源配置,运行版本等,会到初次配置非常麻烦,后期维护成本也高。后来服务渐渐切换到了云服务器上,就不用关心服务器底层维护的问题,而是更多考虑运行环境维护的问题,使得维护成本大大降低。而Serverless,无服务架构并不是真的无服务器,而是在开发人员眼中不用再去关注服务器,开发人员只需要按照要求去完成开发工作,其他所有事件都交给serverless去完成。 - List item应用主要由两大块组成,分别是逻辑与存储。Serverless中就通过两种方式解决了着两块的需求:
1.函数即服务,Function as a Service ,FaaS。你去写一个实现业务逻辑的函数,你只需要把这个函数丢给容器,容器就会自动把这个函数映射到一个服务上面,然后你就通过http的方式去调用这个接口, 2.后端即服务,Backend as a Service,BaaS。它提供了一系列后端服务,比如数据或者文件的存储,消息推送,账户系统等。 - List item优势在于
1.不需要再考虑什么物理机/虚拟机,结合工作流的情况下,代码提交自动部署,直接运行 2.没有服务器,维护成本自然大大降低,安全性稳定性更高 3.都是弹性伸缩云,硬件资源需要多少分配多少,不用担心性能问题 4.大多数Serverless服务商的计价方式都是按使用情况(如流量,CPU占用)来收费flutter Google2018年公开发布的一个移动App开发方案,通过flutter前端开发者就能够开发出真正意义上的原生APP
之前前端都是h5+webview+jsbridge或者RN去实现,但是都会存在一些问题,最明显的就是体验达不到原生的那种效果,性能上有所欠缺,而flutter是一个纯原生的开发方案,采用的是静态编译,也可以叫作提前编译,一个flutter项目编译后的结果就是原生应用.flutter目前也已经支持web平台了。要注意的是,flutter采用的编程语言是Google推出的Dart,而非js或者ts - List item多端统一开发
之前开发人员要为不同的平台单独维护一个项目,对开发者而言需要关注的内容就会更多,学习成本也就更高,目前前端行业已经出现了一些很成熟的多端统一开发方案,如Taro,uniapp。例如uniapp,开发者只需要编写一套代码就可以兼容数十个平台 - List item