zoukankan      html  css  js  c++  java
  • 从移动优先到离线优先(二)

    • 为什么离线应用开发如此困难

        构建分布式系统是计算机科学中最严峻的挑战之一。一个离线应用本质上也是一个分布式系统,数据存储在本地设备上,也在服务器上。由于数据在任何一个位置都可以独立更改,因此设备和服务器上的数据版本直接可能产生冲突。这看似是个简单的问题,但那是在应用开发中很难解决冲突。

        当面临解决数据冲突这一艰巨的复杂问题时, 开发人员往往做出很多让步。有些人会简单化他们的做法, 拒绝来自设备的数据改变或只关注处理错误。这通常意味着用户将会面临糟糕的用户体验和意想不到的结果。其他开发人员尝试从头开发一套离线系统,也许会成功。

        开发人员和工程经理都经常低估离线优先的开发工作,大量的开发者时间浪费在尝试一些离线用例上。构建一个可靠的离线系统,优雅的处理数据流,解决数据冲突,提供异常应对方案,这会造成减缓开发速度,分散开发的产品关注。

      发送和接收数据正如冰山一角,网络请求可能失败,由于各种原因都会造成失控的情况。

       不仅需要花费更长的时间来构建应用程序, 还是编写出臃肿的代码,这需要更多的时间来调试,维护和改进。

  • 相关阅读:
    vector、list、deque三者比较
    python多线程
    爬虫入门之线程进程协程抓取方法(八)
    爬虫之绘图matplotlib与词云(七)
    python字符串反转 高阶函数 @property与sorted(八)
    爬虫入门之Requests模块学习(四)
    爬虫入门之handler与opener(三)
    mongodb/python3.6/mysql的安装
    nginx配置+uwsgi+负载均衡配置
    [JLOI2016] 成绩比较
  • 原文地址:https://www.cnblogs.com/lilunjia/p/7773184.html
Copyright © 2011-2022 走看看