美文网首页自己喜欢的技术文产品经理的技术修养@产品
3.3 Js、App和缓存---熊孩子、篮子和仓库

3.3 Js、App和缓存---熊孩子、篮子和仓库

作者: PMskill产品社区 | 来源:发表于2018-04-26 17:38 被阅读257次

    前端组合:熊孩子、村姑、化妆师

      上次在这提到村姑和化妆师的故事,其实村姑背后有个大家族。上次教大家如何用代码做自我介绍,其实用到了JavaScript(简称js)。
      html只是个静态页面语言。如果用html做自我介绍的话,它是展示全部文字,而用上了js后,它可以让它一个一个字显示出来,像打字机一样。
      好了,介绍下今天主角,村里的那个熊孩子就是Javascript,爱捣蛋, 调皮的服务员(前端编程语言)。熊孩子、村姑和化妆师是一个组合,叫前端(js+html+css)

    有兴趣就看,下面是上次的js代码,就是有个打字方法type()

    <script language="javascript">  //<script>代表脚本
        var index=0;
        var word;
        function type(){    //打字方法的逻辑,一次打一个字
            var typePanel = document.getElementById("jack");
            typePanel.innerText = word.substring(0,index++);
            if(index % 3 == 0){
                typePanel.className = "";
            }else if(index % 3 == 1){
                typePanel.className = "saying";
            }
        }
        window.onload=function(){  //加载入口
            word=document.getElementById("w").innerHTML;
            setInterval(type, 200);  //每隔0.2秒调用一下打字方法
        }
    
    </script>
    

    俊俏走红的Java

       村里另一个小伙子Java, 生的早也生的俏,是个好厨师,做得一手好菜(后端开发主流语言,还有php等)。经常有人误会这两个的关系,问这两者的关系。可以这样说,Java和Javascript的关系就像雷锋和雷锋塔一样。

    介绍下熊孩子的发家史

    js发展史

    移动互联网的到来

      自从可以点外卖之后(移动互联网时代),用户体验要求变高了,都在家叫外卖。(app性能好)App有两种,iOS和Android。

    • iOS app(用Objective-c开发):1号外送员,生的俏,新电动车。
    • Android app(用Java开发):2号外送员,生的一般,旧电动车。

    iOS发布审核流程

      下图是iOS开发到发布的流程,苹果开发需要购买证书,发布也要各种审核,保证了App Store的应用质量。安卓流程也类似,不需要购买证书(自己用计算机可以生成),审核也比较少。


    iOS开发发布流程

    篮子和仓库:内存和运存

      这里要介绍下缓存(一般存放在内存),虽然app和浏览器都有缓存,但是app有数据库,类似小仓库,而且app自己可以生产页面,所以app的能力比网页好得多。
      下图是App的工作原理,App首先和服务器请求数据,然后缓存着,接着处理数据并存入数据库,根据数据生产页面并展示。
      可以拿到数据直接展示(1-2-4-3),也可以存入数据再展示(1-2-3-4 )。

    App工作流程

    h5和App的区别

       h5(html5), 城里的姑娘,是村姑升级版,常见于公众号开发。上次也在这里 输入url后发生了什么 提到了网页,在浏览器打开h5网页版淘宝,其实就是下载网页回来,那么有时候网络不好甚至不通的时候体验就很差了。
      通过浏览器打开淘宝和打开淘宝app有什么不同呢?
      app还是需要联络服务器那边,获取数据(配方),这边自己生产页面,所以,服务器那边返回显示的数据(多少条,每一条里面显示什么),app这边根据这些数据自己生产展示出来,就不用下载页面,效果好很多。不好的地方是占用手机的资源(内存、cpu),也需要重新化妆。
      混合开发(hybrid)也很容易理解,app+h5。app里面有一个组件webview网页盒子,可以理解为一个浏览器环境盒子,用代码启用后,它也可以打开网页。

    • 简单的混合开发其实就是在app里套盒子,盒子里打开指定某个网页;
    • 复杂点的就是有数据的交互,在淘宝(app)打开天猫(h5),然后你发现你也可以下单购物(自动登录了),自动用淘宝的账户登陆了天猫,这就是数据交互。


      淘宝app,混合开发

    小程序

      h5跨平台但体验差,app开发成本高(需要开发ios和安卓两个),那有没有更好的方案呢? 上面的混合开发算是一个,但是随着技术的进步,Facebook推出了React Native(js开发的移动跨平台程序),腾讯也推出了微信小程序,这是 颠覆式的行业方案,从此很多iOS和安卓程序员就失业了,中小型项目都可以用React Native或小程序开发,js变成了高富帅,前端迎来巅峰期。


    小程序

      个人认为,小程序是为新零售而生的,小程序有个附近的功能,附近的零售店,对了,就是这样子的。阿里和腾讯的新零售之争,小程序服务商(有赞之类)、理发店、小卖部都可以用小程序。

    完善的积木盒子

      微信为小程序提供了很多能力,像是和微信、公众号互通的账号体系,支付能力,共享微信的消息提醒等等。可以说大大降低了开发成本,开发可以专注于盒子组装使得项目快速上线。

    王者归来

      介绍完熊孩子的发家史了,(Node.js这个还没介绍,下次吧,不然太多看晕了)从诞生到小程序,前端越来越强盛了,正所谓能力越大,责任越大,有非常强大的开发生态,自然养活了很多前端工程师。

    小作业:用小程序做个自我介绍

    开发流程
    小程序介绍自己

    产品经理的技术修养(上)

    相关文章

      网友评论

      本文标题:3.3 Js、App和缓存---熊孩子、篮子和仓库

      本文链接:https://www.haomeiwen.com/subject/dnxllftx.html