Coder Social home page Coder Social logo

shicaid.github.io's People

Contributors

shicaid avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

shicaid.github.io's Issues

WebView填坑记--选坑

WebView填坑记--选坑

早就听闻WebView的神坑大名,近日项目中需要用到webview,而且要求还有点高,以前小打小闹用原生的就行,好吧,来吧:massage_man: 有点赶,封装webview还是需要时间的(路人甲:装逼:roll_eyes:) 引用周某的话:造轮子是不可能造轮子的,这辈子不可能造轮子的。造轮子又不会造,就是搬轮子这种东西,才能维持得了生活这样子。

经过调研(baidu、google),找出几大可用第三方框架:腾讯X5、Crosswalk、AgentWeb、VasSonic、Chrome Custom Tabs。还有一些其他的,不是不能用,是我懒:man_shrugging:

(怎么使用自行调研)

腾讯X5

这个大家都应该听过啦!没听过的自行打开微信,随便打开一个公众号推文,下拉就可以看到如下
image
(虎嗅是不是该给笔广告费)

来自官方优点
20180504180830

乍一看,666,不错。大部分手机都有qq、微信,使用x5

  • 可以选择和qq、微信共用内核--首次启动webview速度快,万一没起来就尴尬了。
  • 也可以自己加载内核----首次启动webview慢了一点,但是肯定能起来啊是不是。

不过呢,优点这么多,我还是没用他,哈哈哈

  • 内存大
  • 网上一堆人叫苦&论坛修复bug极慢
  • 播放视频啥的自带qq浏览器广告
  • 最重要的是,任性!

Crosswalk--Github

Crosswalk是一款为HTML应用提供运行时环境的开源项目,同时它也扩展了一些Web平台的新特性。
通过使用Crosswalk项目,应用开发人员可以:

  • 使用所有现代浏览器可提供的特性:HTML5,CSS3,JavaScript。
  • 访问主流和新兴的Web标准。
  • 使用主流浏览器无法获取的实验性API。
  • 通过部署自己的运行时环境来控制应用的升级周期。
  • 通过为应用添加自定义扩展,来使用并未通过Crosswalk或公共Web标准暴露的系统平台功能。

总之,很不错啊有木有!该有的都有,性能也不必x5低,越看越想用,但是看到后面

  • 大啊哥,用这个莫名增大将近20M,伤不起。
  • "This project is currently unmaintained."...停止维护。
    🙁 什么鬼?惹不起惹不起,撤~

👉AgentWeb 👈

AgentWeb 是一个基于的 Android WebView ,极度容易使用以及功能强大的库,提供了 Android WebView 一系列的问题解决方案 ,并且轻量和极度灵活。

  • 支持进度条以及自定义进度条
  • 支持文件下载
  • 支持文件断点续传
  • 支持下载通知形式提示进度
  • 简化 Javascript 通信
  • 支持返回事件处理
  • 支持注入 Cookies
  • WebView 安全

哇,可以可以,在http://html5test.com/ 测试过,跑分和x5差不多,该支持的都又支持,够我用了,更重要的是,看了源码(路人甲:你就看了一点也敢说看了:roll_eyes:),这不就是我想封装的样子吗(路人甲:你个辣鸡,要不要脸:roll_eyes:)。试用了demo,自己也写demo试用了下,ojbk,就你了。

VasSonic

VasSonic is a lightweight and high-performance Hybrid framework developed by tencent VAS team, which is intended to speed up the first screen of websites working on Android and iOS platform.专注于提升H5首屏加载速度

没错,你没看错,这是腾讯开源的。来膜拜下:pray:
细看一下,和X5还是有区别的,他不是直接封装于WebView,是通过VasSonic在WebView初始化过程中时,同步并行从服务器加载页面,而不是webview初始化后再去请求。

具体的也不是很了解,以后可以考虑VasSonic+X5结合一起使用效果应该不错。至于为啥我不用他,上面说了,它不直接封装于WebView,主要用于提升加载速度,那我比如和js交互什么的岂不是要自己动手写,no,项目进度不允许你花时间去踩坑。

Chrome Custom Tabs--Github

上面所有的都说在自己APP内通过WebView来加载,这个就特殊了,是通过打开浏览器来加载。
按照常规情况,浏览器和你APP是不能共享数据的,这个库就完美支持了。不仅如此,它既能保证Native APP和网页之间流畅的切换,又允许APP定制Chrome的外观和操作。可定义的内容如下:

  • toolbar的颜色
  • 进场和退场动画
  • 给Chrome的toolbar、overflow menu和bottom toolbar添加自定义操作

一切都非常好,只是使用这个有一个前提条件--按照Chrome 45 版本。呃,在我天朝,用Chrome的真不多,嗯,再见。

以上

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.