无线前端

[无线前端]记录

实习的过程中,主要接触的是无线前端的开发,现在就在这里简单总结一下。

1.H5方面

1.什么是H5?

  • HTML最新的修订版本, 2014年10月由W3C完成标准制定
  • 在开头直接使用 <!DOCTYPE HTML>

2.什么是!DOCTYPE HTML

  • 位于标签之前,告知浏览器使用了哪种HTML版本
  • HTML4.01 需要声明引用DTD(文档类型声明),因为 HTML 4.01 是基于 SGML Standard Generalized Markup Language , 确保了浏览器能够正确的渲染内容。
  • HTML4.01三种模式 Strict、Transitional 和 Frameset Strict: 包括HTML元素和属性,不包括过时元素,框架集不行 Transitional : 框架集不行 Frameset /
  • HTML5 不基于SGML, 不需要DTD

3.H5新特性

  • canvas svg
  • audio video
  • localstorage sessionstorage
  • websocket
  • 客户端数据库
  • history (用于路由)
  • work thread
  • 地理位置信息
  • 可读性 新增元素 artic、footer、header、nav、section
  • 新的表单控件和输入类型验证,eg:calendar、date、time、email、url、search
  • 移除元素 frame、frameset、big、center、font、s、strike、tt、u

4.canvas和svg

  • canvas:
  • html中:<canvas id=“myCanvas”></canvas>
  • js中:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);
  • svg:可伸缩矢量图(直译过来就是:放在哪都可以用,它自动缩放大小)

    • XML 格式定义图形,放大改变尺寸同时图片的质量不会有所损坏
  • canvas pk svg

canvas svg
js绘制 xml绘制
分辨率相关 分辨率无关
不支持事件处理 支持事件处理
改变需要擦除重绘

5.audio和video

<audio controls>
    <source src="horse.ogg" type="audio/ogg">
    <source src="horse.mp3" type="audio/mpeg">
</audio>

<video width="320" height="240" controls>
    <source src="movie.mp4" type="video/mp4">
     <source src="movie.ogg" type="video/ogg">
</video>
//具体api可参考菜鸟教程中的介绍

6.地理位置

  • android:gps定位,wifi定准,基站定位,AGPS定位
  • 地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用。
  • 调用相关的函数API或者注册监听事件
  • 可获取精度、纬度、海拔等等
navigator.geolocation
getCurrentPosition()
watchPosition()
clearWatch
pos.coords.latitude
pos.coords.longitude
pos.coords.accuracy
pos.coords.altitude
pos.coords.speed
<script>
    var x=document.getElementById("demo");
    unction getLocation()
    {
         if (navigator.geolocation)
             {  
             navigator.geolocation.getCurrentPosition(success,error,ops);
                  }
    }
    function success(pos)
    …
</script>

详情可参考这篇blog

7.History

  • location.hash 和 hashchange事件
  • history.pushState(),popstate()

8.LocalStorage vs sesstionStorage vs cookie

LocalStorage seestionStorage cookie
不会自动把数据发给服务器,仅在本地保存 同 ls 标示用户身份而存储本地中,会在browser和server中来回传递
比cookie大得多,可以达到5M或更大 同ls cookie数据大小不能超过4k。
存储永久 浏览器关闭后删除 过期时间前有效

9.work workers

  • web workers是HTML5提供的一个JavaScript多线程解决方案,具体可以参考我写的这篇博客

10.websocket和socket.io

  • 可以先参考我写的这篇博客
  • WebSocket 安全方案,允许客户端代码在客户端和支持WebSocket协议的服务器端创建双向的套接字类型

11.文件系统

  • 简单来说就是对文件进行操作,我在网上看到一篇blog,写的还不错,点这里

12.离线缓存

  • 在用户没有与因特网连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用 户机器上的缓存文件
  • 原理:HTML5的离线存储是基于一个新建的.appcache文件的缓存机制 通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来。 之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示。
  • 详细可参考这篇blog

2.无线前端工具+框架

  1. npm:node package manager,是一个nodejs包管理和分发的工具。
  2. tnpm:阿里内部 npm 及 源 npm 镜像,完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。
  3. react:React 是一个 Facebook 和 Instagram 用来创建用户界面的 JavaScript 库。 React 是为了解决一个问题:构建随着时间数据不断变化的大规模应用程序.
  4. React Native :React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用。在 JavaScript 中用 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等
  5. flux :Flux是Facebook用来构建用户端的web应用的应用程序体系架构。它通过利用数据的单向流动为React的可复用的视图组件提供了补充。相比于形式化的框架它更像是一个架构思想,不需要太多新的代码你就可以马上使用Flux构建你的应用
  6. ant desgin:蚂蚁出的ui组件库,可以大大提高我们的开发效率
    • ant desgin pro:用于搭建中后台的cms
    • ant desgin mobie:用于移动端,无线前端
    • ant desgin h5:antd出了针对h5的组件库
  7. yocto:组里用的就是yocto
    • yocto基于zepto,大多数api与zepto保持一致
    • yocto的core精简了不常用的API,去除了不必要的逻辑,深度优化了性能
    • 可参考这篇readme 讲的非常的好
  8. HPM:全称hybrid-app package manager and developing
    kit.
    • 好不好用,自己安装尝试一把就了解了。这是安装地址
  9. atool-build:readme利器,hh
    • 基于webpack实现
    • 支持通过webpack.config.js进行扩展相关配置项
    • 支持typescript
    • readme放在这里,可亲测一次
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,478评论 25 707
  • npm: npm 的全称是Node Package Manager, 是一个NodeJS包管理和分发工具。node...
    溪西阅读 868评论 0 2
  • 1. 浏览器页面有哪三层构成,分别是什么,作用是什么? 构成:结构层、表示层、行为层分别是:HTML、CSS、Ja...
    程序猿人王小贱阅读 1,866评论 1 11
  • 刚刚睡醒 做了个梦 梦见从外地旅游赶不回来 错过了末班车 待在了一个小城里 时值傍晚小城里没有宾馆没有人 ...
    赵泽阳阅读 153评论 0 1
  • 在下着雪的冬夜,米夏爸转发了一篇文章给我,并说:“看得眼泪直流。”我其实早就看到了这篇文章,可是我不忍心发给米夏爸...
    米夏妈阅读 1,002评论 0 3