美文网首页
2016.09.(21)28 优酷分享单页APP的开发

2016.09.(21)28 优酷分享单页APP的开发

作者: Success85 | 来源:发表于2016-09-29 16:37 被阅读26次

    视频地址:http://e.youku.com/v/course/play?coid=6487&chid=86761

    WEB单页应用的重要语法基础

    1. 变量作用域:变量的有效范围或者作用范围。(局部变量,全局变量)

    2. 变量作用域链:变量在当前环境向当前环境内部的函数内部传递

    3. 闭包:将一个局部变量的向外层环境传递的特殊实现方式。借以突破局部变量的限制。

    4. 变量提升:在后面声明的代码中的声明部分,可以在执行时提升到最开始的位置。

       var test = 1;
       function myfunc(){
               alert(test);
               var test = 2;
       }
      
    5. 自执行函数:自动执行而不需要正常调用的函数,js中匿名函数的特殊使用方式。自执行函数并不是没有调用,而是在圣光明之后调用。

       (function(形参){
      
       })(实参);
      
    6. 模块模式:自执行函数的应用,主要用于较多模块划分的成功开发当中。

       var 变量=(function(){
           return 结果;
       })();
      

    单页应用架构

    一、shell在架构中的作用

    1. shell是单页应用的主控制器,是框架中必须的。
      主要负责的内容:
      部署单页应用整体形状和结构(其实就是输出html页面)
      初始化所有功能模块。
      管理应用的cookie或者URI处理
      该模块被根文件调用

    2. 功能模块在架构中的作用
      功能模块是单页应用中每个独立功能的集合。(不包含业务逻辑)
      功能模块主要负责:
      部署当前功能模块的html渲染和生成(css已经预选加载,不再此处处理)
      为当前模块的元素添加事件,绑定事件处理方式
      该模块被shell模块调用

    3. Model模块在架构中的作用
      Model是为当前单页应用所有数据提供模型和操作的代码集合。
      主要负责的内容:
      构建和设计所有功能模块使用的业务逻辑对象。例如:用户对象:添加用户,删除用户,修改用户等
      调用Data实现Model中的业务逻辑操作
      该模块功能被shell中的指定功能模块调用

    4. Data模块在架构中的作用
      Data是提供前端和后端进行数据通讯的必备模块
      主要负责的内容:
      获取和设置通讯使用的功能对象和方法
      该模块功能被Model调用

    5. 服务器选择NodeJS
      Node.js是一个平台,使用的是javascript语言,作为服务器语言使用
      Node.js的优点
      服务器就是应用。前台后台一块玩
      node.js使用和前端一样的javascript语法,非常方便,数据相同,处理方便
      node.js是事件驱动和非阻塞的,可以支持大并发数据操作。
      Node.js轻量高效,运行效率高
      node.js得到了广泛的支持,各种框架和驱动都非常丰富!

    6. Node.js的缺点
      可靠性低
      单进程,单线程,只支持单核CPU,不能充分的利用多核CPU服务器。一旦这个进程崩掉,那么整个web服务就崩掉了。
      不过以上缺点可以可以通过代码的健壮性来弥补。

    APP 开发中每个模块的模式基本固定

    var 模块=(function(){
      var 配置信息={
    
      }
      var jQuerySet缓存DOM的集合={
    
      }
      var initModule=function(){
    
      }
      var 方法1=function(){
    
      }
      var 方法2=function(){
    
      }
      var 方法3=function(){
    
      }
      return{
        返回当前模块的公开方法。
        公开方法:方法1,
        公开方法:方法2,
        公开方法:方法3,
        ......
        公开方法:初始化方法 //必须的
      }
    }());

    相关文章

      网友评论

          本文标题:2016.09.(21)28 优酷分享单页APP的开发

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