V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
KuroNekoFan
V2EX  ›  问与答

不知道该如何跟客户端开发继续沟通下去了....

  •  
  •   KuroNekoFan · 2018-04-19 17:26:14 +08:00 · 2958 次点击
    这是一个创建于 2416 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个 webview 页面,被产品吐槽首次加载太慢,于是想做一些优化,google 了一番找到 http://qianzui.github.io/blog/2015-03-29-httpresponsecache-source-code-analysis/ 这样的一篇文章,然后发给了客户端开发做参考。 以下为对话

    --客户端开发:httpurlconnection,浏览器不是用这两个类作请求的

    --我方:那你们用的是什么,httpClient ?

    --客户端开发:webkit ( 4.4 以下) chrome ( 4.4 以上)

    请问我要怎么跟他沟通下去?

    第 1 条附言  ·  2018-04-19 18:48:08 +08:00
    后来再看了一下对话,发现少发了一个 webview 应用 httpurlconnection https://stackoverflow.com/questions/12063937/can-i-use-the-android-4-httpresponsecache-with-a-webview-based-application?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa 的链接,我的失误...
    这贴看下来,感觉很多客户端开发者对 http 的认识都仅限于传输协议,并不了解缓存之类的丰富的 http header,也不愿意去了解 webview 的东西,可是因为前端开发处于鄙视链底层的关系吧
    zhangchioulin
        1
    zhangchioulin  
       2018-04-19 17:58:35 +08:00
    LZ 职位是领导还是?
    1. 如果是领导的话我觉得可以强硬一些,让开发提供优化的方案。
    2. 如果职级相等且不是客户端开发的话还是不要直接把链接给工程师‘参考’,因为工程师可能已经看过这方面的内容。除非 LZ 是这个领域的专家拥有话语权。
    3. 我想 LZ 应该不是 PDM,如果是 PDM 的话私以为更万万不可发这个链接给工程师。因为工程师会以“你行你上”拒绝你。
    以上是针对 LZ 的问题。

    ---

    以下是吐槽:
    WebView 加载慢原因非常多,直接发一个缓存优化恐怕有失妥当,
    这种情况难道不是先排查瓶颈,确定应该是由前端还是移动端做优化吗?还是 LZ 那边的前端已经非常完美了?

    以上是个人意见,如果有不同意见请 at 我。
    我不一定会回。
    zhangchioulin
        2
    zhangchioulin  
       2018-04-19 18:01:09 +08:00
    貌似上面的回复都没有答到电上,精华一下吧:
    如果是利益相关就叫上前端和客户端工程师一起坐下来谈
    如果不是我想产品经理也应该不会找你吐槽~
    fgodt
        3
    fgodt  
       2018-04-19 18:19:52 +08:00
    因为你这个帮不上忙啊
    webview 是自己的一套逻辑
    你这个是代码 HTTP 请求的方案 完全是两回事
    3a3Mp112
        4
    3a3Mp112  
       2018-04-19 18:25:38 +08:00
    WebView 加载慢原因非常多, 而且一般都不在客户端问题上。 请让后端人员检查。
    Lonely
        5
    Lonely  
       2018-04-19 18:29:19 +08:00 via iPhone   ❤️ 1
    客户端: 怎么跟这种后端交流……
    albertofwb
        7
    albertofwb  
       2018-04-19 18:32:45 +08:00 via Android
    看了楼主描述吓一大跳,以为是我们产品经历在说我
    lance6716
        8
    lance6716  
       2018-04-19 18:36:43 +08:00 via Android
    感觉 po 的点应该是:

    - 我们不是靠 U 盘拷数据的
    - 那是啥,scp ?
    - Windows 资源管理器
    fgodt
        9
    fgodt  
       2018-04-19 18:41:59 +08:00
    @KuroNekoFan 那你就把这个也发给他告诉他让他尝试一下
    语言上稍微谦和一点比如:麻烦尝试一下看看效果
    和程序沟通要有技巧,你这么说他可能还是会不叼你,但私底下已经尝试了(因为他很有可能为了反驳你而尝试)
    zj299792458
        10
    zj299792458  
       2018-04-19 19:01:21 +08:00
    所以你希望客户端开发自己去优化 webview 的 http 请求么?人人都是谷歌架构师?我看来客户端开发回答并没有问题,http 请求本来就是 webview 实现的,在没有定位问题的情况下,就让人家盲目地花时间修改实现方式是在浪费人家的时间。你好歹随便拿一个浏览器说,你看这个浏览器在同样环境下加载得比你的客户端快,这个锅才能到客户端这里。
    3a3Mp112
        11
    3a3Mp112  
       2018-04-19 19:06:03 +08:00
    你是不是对缓存有什么误解? 客户端缓存最多只能用来优化二次打开的速度,是没办法解决 "首次加载慢" 这个问题的 。
    chenzakk
        12
    chenzakk  
       2018-04-19 19:15:16 +08:00 via iPhone
    这个页面用浏览器打开快不快?不快一般就是服务器问题。
    KuroNekoFan
        13
    KuroNekoFan  
    OP
       2018-04-19 19:16:00 +08:00
    @3a3Mp112 在用户打开 webview 之前,客户端先用 httpurlconnection 访问 webview 中需要用到的资源,到用户真正打开 webview 的时候,虽然是首次打开 webview,但是对于其中资源的访问已经是第二次了,以此来减少 webview 下载资源的时间,这个不难理解吧?以一个客户端渲染的页面来说,html 本身一般只包含了对 js,css 的引用,可能 1kb 都不到,大头是 js 和 css,我想做的,就是预缓存 js 和 css
    3a3Mp112
        14
    3a3Mp112  
       2018-04-19 19:17:53 +08:00
    @KuroNekoFan 你还不如直接用 webview 加载,先把 webview 隐藏起来,需要的时候再显示。。 - -。
    chenzakk
        15
    chenzakk  
       2018-04-19 19:22:54 +08:00 via iPhone
    为什么很多页面不用楼主所谓的黑魔法都很快,呵呵哒。
    KuroNekoFan
        16
    KuroNekoFan  
    OP
       2018-04-19 19:34:04 +08:00
    @3a3Mp112 webview 业务那么多,如果一个页面有好 n 个 webview 入口,没理由去事先初始化 n 个 webview 隐藏起来吧
    3a3Mp112
        17
    3a3Mp112  
       2018-04-19 19:45:04 +08:00
    @KuroNekoFan 这个页面在别的浏览器访问也慢吗? 如果慢,那就不是客户端的问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2737 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 15:05 · PVG 23:05 · LAX 07:05 · JFK 10:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.