首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

桌面软件开发框架大赏

(但它提供了自己的flex布局实现方式)。...webview框架碰到的问题TAURI都有, 使用Rust开发,将来会支持Deno,作者说将来会直接使用webview的技术来支持多平台, NW.js https://nwjs.io/ NW.js最早把...Electron每创建一个窗口都会多一个进程,这使Electron创建窗口的效率不高(秒级), NW.js有复用进程的机制,即使新窗口加载完全不同域的页面也不会创建新的进程(毫秒级)。...这也是为什么很多基于Electron开发的应用都使用Dom模拟弹窗的原因。 无论是浏览器相关的API,还是系统级API,Electron提供的都比NW.js多。...想想看:HTML 里各种五花八门的语义化标签和 Dom 操作技巧、CSS 里的布局方式、伪元素、动画描述等,就会明白这一点。 第二,是否拥有强大的事件处理机制。

6.8K30

electron 构建跨平台桌面应用

昨日(2016.09.13)本文发表后,获得了一定的阅读和转发量,但经部分网友反馈和仔细审核后发现,在与 NW.js 对比的环节,言辞欠妥,且数据的真实性有待考究,特此将争议部分删除,同时借此诚挚地向...NW.js 的作者以及各位读者反馈表示感谢,期待更多深入的交流和分享,修订后的版本如下: Stack Overflow 联合创始人 Jeff Wood 曾说过,任何一个能用 JavaScript 编写的应用系统...main.js: 负责创建应用窗口,并赋予其与当前操作系统的原生GUI交互的功能。 index.html: 定义了页面的渲染内容,即 “Hello World” 字符串。...webview 是个比较有趣的标签,可以将线上的页面嵌入进 Electron app 中,与 iframe 不同的是,webview 和应用运行的是不同的进程,拥有渲染进程的权限。...这样一个PC版的微信就大功告成了,实际上就是利用 webview 标签加载微信网页版的在线地址,再在main.js中调整窗体大小以适配网页版的微信,是不是很简单呢。

3.4K110
您找到你想要的搜索结果了吗?
是的
没有找到

使用Fiddler抓取bilibili安卓客户端口数据并分析http、https

一、简述 经过了一个多星期的时间(自2017/10/16开始),到目前(2017/10/24)为止,项目框架的搭建已基本完成、还完成了首页中「直播」与「推荐」Fragment的数据填充,可以说相仿度很高...切换到Connections标签,填写要监听的端口(如:8888),将下方3个钩勾上,最后点击OK关闭设置界面。 ?...不过,HiJson不支持直接数据请求,所以需要从别处将json数据复制到HiJson中,Fiddler的WebView窗口可以帮到我们。 ? 初次点击WebView ?...点击淡黄色提示后的WebViewWebView窗口中的数据全选,右键,复制。打开HiJson,粘贴到左窗口后点击“格式化JSON字符串”。 ?...就我找出的这12种布局大致可分为2大类:「大布局」和「小布局」。 ? 1)「大布局」 大布局包括的goto值有:banner、coverge、special、topic、rank、tag。 ?

3.5K10

未来大前端技术趋势深度解读

后台进程会启动一个(或多个)渲染进程,用于展示编辑器窗口,它负责编辑器的整个 UI 部分,包括组件、主题、布局管理等等。...很多人问 PWA 在国内为什么感觉火,原因很简单,PWA 在弱网环境下表现极好,但中国的网络是全球最好的,所以 PWA 其实没有给我们带来那么大的收益。...相较而言,微信是基于 Webview 的,而快应用使用的是原生渲染方案,其他家也大抵如此。 ?...如果说的苟且一点:“给我一个 Webview,我就能给你一个世界。”...但社区维护的非常差,问题 issue 不及时,文档更新。如果公司没有架构组,还是比较难搞定的。 不过也有很多不错的案例,比如 2018 年优酷双十一活动就是使用 Weex 开发的,效果非常不错。

2K20

iPhone X 适配手Q H5 页面通用解决方案

关于安全区域 这里可能有人会有疑问,为什么非通栏下的页面内容是通到底部的,而按钮却是在安全区域上方呢?...为了解决这个尴尬的情况,苹果公司给我们提供了一个设置viewport的meta标签的解决方案。...可视窗口完全包含网页内容 cover: The web content should fully cover the viewport....网页内容完全覆盖可视窗口 auto: The default value, 同contain的作用 通过给页面设置viewport-fit=cover,可以将页面的布局区域延伸到页面顶部和底部。...对于通栏页面,设置了viewport-fit的属性,发现会生效,经过跟同事查看手Q源码后发现,终端对于WebView通栏的情况设置了UIScrollViewContentInsetAdjustmentNever

13K1911

用安卓 WebView 做一个“套壳”应用

文中创建的示例项目已上传至码云,点击文章底部“阅读原文”即可获取 正文 本文涉及到复杂的 Android 与 Java 知识,小朋友不需要在家长的陪同下也能观看 ? 1....开发套壳程序 2.1 添加 WebView 布局 修改 「app/res/layout/activity_main.xml」 文件,去掉原有的 TextView 标签,添加一个 WebView 标签并保存...上文提到的 activity_main.xml 即为应用主界面的布局文件。...实例并通过 id 绑定我们刚在布局中创建的 WebView 标签 // 这里的 R.id.webview 就是 activity_main.xml 中的 WebView 标签的 id...如果没有安装虚拟机的话,需要点击窗口顶部菜单栏的 [ Tools -> AVD Manager ] 进入 AVD 管理器安装安卓虚拟机(模拟器)。

9.7K13

WebKit三件套(3):WebKit之Port篇

通过前面的了解我们知道WebKit的主要功能集中在分析Html、渲染布局Web内容以及Javascript实现方面等,而这些Web内容显示在哪个窗口及消息处理的启动循环等都需要由外部程序来提供。...();//告诉外部程序创建一个新的Frame,如遇到html中iframe标签时,需要外部程序创建一个新的Frame及原生窗口句柄等;virtual PassRefPtr createFrame(const...一般说来新打开一个页面,Port部分需要提供一个主显示场所(即原生窗口),如果页面中含有iframe标签,则需要在主显示场所内创建一个子显示场所,以显示iframe标签对应src的内容;如果页面中含有embed...响应事件等,这充分的说明了浏览器引擎内部布局部分的威力所在。...页面中的绝大多数元素与原生的窗口元素几乎没有关联,完全通过组合、布局、准确定位来处理一切。。。如何利用WebKit?

2K10

跨平台桌面开发,Electron还是WebView2 (中篇)

在这篇文章中,我暂时会放下Electron与WebView2的一个对比,而聊一聊跨平台这个对于程序员群体来说陌生的词。...一)趋势是什么 一个趋势是:跨平台开发几乎是在各个技术方向都会持续发展的 跨平台这个词,对于程序员来说,应该是陌生的。...这也是Electron及早期的NW.js能迅速发展起来并得到非常广应用的原因所在。...四)Electron VS WebView2 其实,无论是Electron,或是WebView2,都是基于浏览器内核+前端技术的跨平台桌面解决方案,这也是为什么要把它们放在一起聊的原因。...Electron是先行者(当然,严格说来,NW.js出现的更早,但今天它的流行度已远远落后于Electron了),而WebView2则是后来者。 那做为后来者的WebView2究竟做了哪些改进?

2.2K20

如何让一个html网页变成一个exe可执行程序

新建一个文本文档,重命名为hta后缀名,比如 test.hta; 然后用文本编辑器在里面编写一个iframe标签,把我们的目标网页地址带入到其src属性中; <iframe src="你的网页地址" style...打开hta文件的窗口界面 优点:实现简单。 缺点:兼容h5、css3,而且JavaScript脚本也很容易出问题。...2 nw.js工具 nwjs官网下载 nw.js的github地址 nw.js的使用流程: 测试可用 解压下载包后,双击nw.exe,可以正常启动,则说明可以使用node-webkit。..."resizable":false,//是否允许调整窗口大小 "always-on-top":true,//窗口是否置顶 "fullscreen":false,//是否全屏显示...参考文章: 让HTML网页变成一个exe执行程序(node-webkit或HTMLRunExe或hta) NW.js构建桌面应用

17K20

实现微信小程序最新运行环境系列 (初始篇)

由于 wept 的运行环境是基于微信基础库 1.0 的版本上实现之后也维护了,时间上是 2016 的在后续的更新的版本中新加的一些特性如自定义组件 npm 包很多 api 等开发实现都不支持,最主要是的微信在后续架构中更换底层的通信方式采用了...下面通过微信开发工具来展示说明,小程序逻辑层的 javascript 代码是运行在 NW.js 中,视图层是由 Chromium 60 Webview 来渲染的 他们之间是通过 webstock 协议来通信的...从上图和我们的一些理解我们知道微信小程序的文件格式主要组成: .js 主要页面逻辑; .wxml 页面结构,框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构; .wxss 是一套样式语言...webview 里面是个什么东如果我们直接把 view 层的 webview 标签改成 iframe 的话可以看到微信就直接不在里面展示给你页面白屏了 ?...后面我会对关键文件进行一一分析描述下他具体做了什么,为什么用到它。

1.1K10

客户端软件GUI开发技术漫谈:原生与跨平台解决方案分析

Apple Objective-C(或现在的Swift),跟Winforms一样,可以非常方便的调用操作系统底层API,劣势也一样,跨平台、自定义控件比较复杂,可用资源太少。...的功能,nw.js 则直接使用了 Chromium本身。...、plugin信息、图标资源信息 WebView层用来呈现用户界面,即web页面的展现。...react-native 、weex 和 flutter 都只是 UI 框架,它解决的其实是跨平台上的 UI 实现,让界面布局或者实现的业务逻辑可以在多端统一。...为什么选择Dart Dart 的性能更好。Dart在 JIT模式下,速度与 JavaScript基本持平。但是 Dart支持 AOT,当以 AOT模式运行时,JavaScript便远远追不上了。

14.3K30

如何深入分析小程序运行原理?

小程序逻辑层的JavaScript 代码运行在 V8 中,视图层是由自研 XWeb 引擎基于 Mobile( )Chrome() 内核来渲染的 开发工具:小程序逻辑层的JavaScript 代码是运行在 NW.js...,渲染层就会存在多个WebView线程,这两个线程之间的通信会经由微信客户端来做中转,逻辑层发送的网络请求也经由Native转发, 为什么要采用这种技术方案呢?...你可以在刚才打开的控制台Console中输入找到对应标签,查看对应的webview: 再通过这个命令查看具体的webview内容: 如果你直接打开对应的dom树,第一个webview展示的就是渲染层相关信息...wcc 将微信小程序设计的一套wxml标签语言,用于构建出页面结构,转为WebView可以理解的标签,毕竟渲染层还是运行在webview中,我们可以通过一张图来看下它的编译流程。 ?...需要注意的重点内容是,我们要知道小程序与普通网页区别采用了渲染层和逻辑层,还要知道自定义的标签和样式怎么编译转换成webview可以识别节点和样式,另外,消息通信与处理也需要重点学习。

1K30

Web 嵌入 | Electron 安全

允许的值有: auto (default) 指定优先级。...这个标签提供了一种灵活的方式来整合多种媒体类型和应用程序到网页中,而局限于单一类型的资源。...官方提示 重要提示: 我们建议您使用 WebView,因为这个标签会发生剧烈的结构变化,可能会影响您应用程序的稳定性。...应用效果 在一个独立的 frame 和进程里显示外部 web 内容 所以其实可以把它视为一个和主窗口一样的窗口进程看待 使用 webview 标签将'guest'内容 (例如网页) 嵌入到您的 Electron...Guest 内容包含在 webview 容器内。 应用中的嵌入页面可以控制外来内容的布局和重绘。 与 iframe不同, webview 独立于您的应用程序运行。

22510

关于小程序的一切,读这一篇就够了~

打开微信开发者工具的源代码,他是基于 NW.js 运行的,所以下图中的 package.nw 就是我们要重点钻研的对象: 这里面有很多代码,都是经过混淆与压缩的,将代码在 VSCode 中打开,并安装...patch 后并不是转换成原生的 DOM 元素,而是微信小程序里面自定义的 DOM 元素,这些 DOM 元素的操作通过 Exparser 模块来统一管理: 在 WAWebview 中包含了所有的 wx 自定义标签...接着我们在这个文件里添加几行代码去调用它,并通过 Node.js 或者 NW.js 执行这个文件: var data = $gwx('....css.js 可以将该文件从 wxss 格式的内容,转换成 JS 的内容: 这里面会生成 setCssToHead 方法,用于将相应的 css 转换后(如 rpx 转 px 等等),通过 style 标签插入到文档的...基于移动端布局的局限性,可以高效且简单的开发,迭代快速。 小程序是双线程模型,逻辑层和渲染层分别运行在不同的线程中,通过 JSBridge 进行通信。

1.1K10
领券