能用react.js写点东西,却还是不太清楚react.js的作用。
还有react native,用html,css,js能实现的为什么到了移动端就要用rn或者vue等
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
还有react native,用html,css,js能实现的为什么到了移动端就要用rn或者vue等
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
我的理解很浅薄,尝试回答题主的问题。
在这些现代前端框架没出现之前(react、vue、angular),我们做一个点击后更新列表的功能需要这样。
我们的代码需要知道怎么去做,这会带来一些问题:
使dom中的状态和保存在数据库中的数据同步是困难的,你可能会使用观察者模式或者根据响应重新渲染数据。这本身就是很麻烦的事情,同时如果我们除了操作dom之外;需要对数据做其他的操作怎么办?如果点击按钮之后,ui的其他部分需要更新怎么办?这些问题会使我们使用多层回调,使代码深度耦合;每一次更改都是非常麻烦的,也是不方便做测试的。
以上的方式被称为命令式编程,我们的代码需要知道怎么去做。幸运的是,现代前端框架使用声明式编程;我们只需要关注做什么,它们有一个持久的模型层(数据层),dom会随数据自动的更新;你不用写任何代码更改dom,也不应该这样做。框架负责改变dom。
先写到这里,至于react和vue的流行很大一部分原因它们都有虚拟dom;使dom更新时有良好的性能。rn可以让你写一份代码,运行在android和ios两个平台。相对于web app和混合式开发,性能更好。
框架的出现都是为了更好的解决问题
接着 @黑色的影子 的答案讲点导论性的东西。
发展是建立在需求之上的。
最早的时候硬件网速都很差,验证这种事交给服务器来做会显得十分低效,所以有了 js 在客户端来验证表单或者进行一些其他的 DOM 操作。之后 js 就处在着一个不高不低的位置,直到 Ajax 技术被 Google 大范围的使用在自家的产品上。这时候 js 的春天来了,越来越多的人开始关注学习和使用 js。随着项目的逐渐做大,人们发现 js 也是需要和其他语言一样进行组织管理的,所以开始给 js 使用各种设计模式来提高效率。其中的 MVC(1980年左右就被提出来) MVVM MVP 之类的模式也是其他语言中总结的,直到近些年才开始在 js 使用。再之后,v8引擎把 js 引入了服务器端,人们又发现“天哪,学会 js 走遍天下”纷纷投进 js 的怀抱(github 上统计最活跃的语言是 js)。现在就有人举着旗帜呐喊,“使用 js 走向全栈”。
通过上面那段话可以总结:一,js 现在的发展很迅速,上个厕所的时间,就会蹦出一个开源项目。二,项目的规模决定需不需要使用框架和需要使用什么框架。三,Google公司真是牛逼。
用框架更简单啊,当然你也可以完全自己用原生的代码去完成。
但你做完之后你就会发现,其实你也不过是又造了一个轮子。