小程序---总结

 

底层根本是:

react reconciler 中 hostconfig 运行机制?

 

 

 

参考:https://cloud.tencent.com/developer/article/1728155?from=article.detail.1740871
参考:rax运行时原理:https://blog.csdn.net/weixin_39522423/article/details/111120687
参考:支付宝小程序架构:https://blog.csdn.net/weixin_34414196/article/details/89127950

 

现在互联网应用: web只是官网描述介绍app下载; app应用原生只是做壳儿 页面都是用hybrid开发技术---flutter、rax ,rn ,appUi, weex ; 然后必须还要有 ---小程序

 

现在的前端开发框架都是虚拟dom , 没有 <script></script>标签,也没有<mete >标签, render里面的 html原生 都是js 实现的。 现在引用包都是用npm 安装的形式。

 

 

1  小程序的webview 打开h5链接,类似原生app一样,点击内容超链的时候可以拿到超链的url地址。

 

2  小程序 setData是同步的; amxl界面点击事件是异步触发的。 虽然不想web js和html在同一个线程中会有阻塞,但是分开webview进行处理属于和 Jscore处理js逻辑 ,原生navtie同步 但是会有线程同步时间问题。

 

 

3  现在 连做app除了原生部分功能外,其他都是用hybird app了 也是用前端js写页面 逻辑 运行借助于原生jscore 最终打包的是原生文件(和原生交互调用,js 是虚拟dom 和 ui 是框架提供的,最终转成原生对应的 。依赖于系统 )。 2 小程序的ui层还是运行在webview ,js层是借助于原生jscore转换的 分了2个线程交互通信,还能调用原生app封装的功能 (依赖于原生宿主app)。 3 web pc h5之类的还是js ,只不过写法越来越像java 了,也有class ,interface。 只是运行在浏览器。 4 最新google出了一个flutter Dart ( 这个更高级 有前端特性即时编译 ,还能有aot 转成字节码) 也是编写一次 ,android ios 都可以运行。 还支持web 开发。 这个是全新的dart语言 ,抛弃了js 。 其他:java就是依赖于jvm虚拟机转成classic字节码。 所有虚拟机调优。gc调优。

 

 

4   小程序data的字段直接用,会有缓存,哪怕页面返回 ,只要页面没有死 ,在此进入这个页面 还是上次改变的值 true。

例如:

data: {
fromExam: false, // 初始值是false
}
this.data.fromExam = true; 

除非:
if (query && query.from === 'exam') {
this.data.fromExam = true;
}  else {
this.data.fromExam = false;
}

this.setData({ // 用setData就会每次刷新 ,是页面级的页面关闭就恢复。
fromExam: true
});

 

 

 

反正现在纯原生app开发很少了, 基本都是hybird app开发 比如 rax,rn ,uniapp, tero 等; 而且上来先做小程序;web pc只做官网。

posted @ 2022-01-21 18:47  JavAndroidJSql  阅读(11)  评论(0编辑  收藏  举报