如何开发一个浏览器
浏览器的最主要的功能概括起来就是,加载显示网页。怎么样使我们的应用具备这样的功能呢?
最简单的就是利用Android WebView(以Android OS为例),还有CEF(Windows/Linux/Mac OS)。
加载显示网页背后其实是一个很复杂的过程:
- 从服务器获取主文档
- 解析主文档,执行js脚本
- 加载子资源
- 对页面进行渲染排版
- 显示页面
每一步都是一个很复杂的过程,整个工程加起来,不亚于一个操作系统。
如果我们只是想开发一个具备加载显示网页的本地应用,就不用去关心WebView和CEF背后的逻辑,只需要了解怎么用它们提供的接口就可以了。
Android WebView
这里的Android是指Android系统,WebView是一个控件类,用于在应用中显示网页的试图(view),从技术的角度讲,它是一个Java类,提供了一系列的接口,应用通过调用这些接口来加载并显示网页。
你可以使用Android WebView来创建自己的浏览器或仅仅显示一些在线内容,它使用Blink渲染引擎渲染页面,包括前进/后退的接口,还支持放大/缩小、页内查找等功能。
最简单的使用方法是:
WebView webView = new WebView(