移动H5

  • 问题

    我们知道,如果想要满足飞快增长的业务需要,必然得在APP中嵌入Web内容。一般来说,是java调用webview类新建一个webview,然后通过loadUrl加载Web页面。如果这个页面是纯展示性的还好说,对于复杂的页面,常常需要调用APP原生的功能,这个时候应该怎么办呢?

    我们把问题抽象一下:“如何实现javascript和java的相互调用?”
    把问题一分为二,先来看**“如何实现javascript调用java?”**

    要实现的效果

    我们要实现的效果如下图所示,点击某个按钮,打开一个新页面,然后加载web页面。点击web页面当中的按钮,调用安卓原生的方法toast,弹出提示。
    demo


  • 问题由来

    继上一篇 #80 ,本篇着重讨论vue插件在组件库中的作用。
    对于toast组件,如果我采取跟button这些普通UI组件一样的方式的话,会存在一些问题。
    假设这样一个调用场景:页面当中有一个按钮,点击按钮弹toast,toast的内容和回调函数均可自定义。
    调用toast组件的伪代码如下

    // example.html
    <div id='#app'>
        <button v-on:click='showToastA'></button>
        <toast :show.sync="toast.show">
        {{toast


  • 问题

    在Hybrid App中,需要频繁访问H5页面。要是每一次的页面请求都通过网络从远端拿的话,不但会消耗很多的用户流量,而且在网络不好(2G、3G)的时候会有巨大的延迟。
    如何解决? --> 把H5页面直接放到app包里面,随版本发布,每次请求页面都从本地拿。
    是的,早就有人这么做了。天猫、淘宝APP越来越大的安装包体积,原因之一就是放入了越来越多的H5资源。不过这个方法有局限性:**第一,安装包体积不能无限增大;第二,APP发版之后web资源需要更新怎么办?**所以这个方法只适用于存储一些基本不怎么变的web资源。

    分析

    假设我有这样的一个APP。从每一个入口点击进去都是一系列不同


  • 前言

    从去年4月份学习前端开始到今年6月,已经有1年2个月的时间了。在这段时间当中,开发的基本上都是PC端的项目,移动端相关的接触甚少,最多也就做一些移动端的专题页而已。渐渐地我开始反思并得出结论:“一味地只研究PC端,未来的路终究是会越走越窄的。”

    后知后觉

    人才市场的变动要落后于商业需求的变动
    现如今之所以有大量的web从业人员,其原因是自90年代开始兴起的个人计算机与互联网。可以想象,当年互联网刚刚兴起之时,懂web开发的人简直就是凤毛麟角。很多人都是后来看到这个行业发展得很好然后再选择入行的。这道理就像是**“当nodejs大行其道之时你才开始学习node,其实你已经比那些node先驱

  • 问题由来

    以前大多写PC端的页面,移动端的写得比较少。在调试移动端页面的时候往往结合采取以下三种方法:

    1. chrome直接模拟
    2. 手机上弹alert调试js
    3. 使用browser-sync同步变化

    但是这种做法有以下的弊端:

    1. chrome模拟本身就不够精确,经常出现跟真机不一致的情况,无论是样式还是js。
    2. debug js的效率非常低,在真机上没有办法使用chrome debug js强大的功能。
    3. 假如网页运行在app的webview中,那么就更困难了,因为没法模拟webview具体的环境(webview常常会注入很多js,用于与app的交互。)

    所以,必须找到一种使用chrome控制台直接