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

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

  上次在这提到村姑和化妆师的故事,其实村姑背后有个大家族。上次教大家如何用代码做自我介绍,其实用到了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这个还没介绍,下次吧,不然太多看晕了)从诞生到小程序,前端越来越强盛了,正所谓能力越大,责任越大,有非常强大的开发生态,自然养活了很多前端工程师。

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

开发流程

小程序介绍自己

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 141,734评论 19 609
  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    Silence_广阅读 9,493评论 1 164
  • 当我们开车时,我们在观察。有人乱并线,有人在你后面摁喇叭,有人慢速行驶,有人朝窗外扔垃圾,有人逆行,妈的,又堵车了...
    wuya阅读 34评论 0 0
  • 何书能语心中叹,何酒能醉心中木 唯有夜色冷明月,恐是青山藏百川 我本是一个作息没有规律的人,但今天我却起得很早,是...
    跃千恼阅读 35评论 0 1
  • 北方县城的生活,节律感十足。每年夏天,都会有若干个小孩下河游泳然后溺亡。每年冬天,都会有若干个小孩心急溜冰栽入冰窟...
    艾羗阅读 41评论 0 1