微信小程序分析见解
前两天朋友圈都快被小程序给刷爆了;
对于小程序这方面, 由于没有公测的资格。所以翻阅了许许多多的资料,来了解一下小程序;
微信小程序:
小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。
据传是张小龙发在朋友圈对小程序的评论
下面是禅叔的观点:
小程序原理就是用JS调用底层native组件,和React Native非常类似。恰恰又证明了,凡是能用JS开发的最终都会用JS开发。
证明:凡是能用JS开发的最终都会用JS开发
解:
据我多年经验,这句话是一个真命题。
语言的设计者是有两个派系的,有些人认为程序员语言应该防止程序员干蠢事,另一些认为程序员应该可以用编程语言干一切他们想干的事。 C/Java语言是前一个阵营的代表, JS是后一个阵营的代表。
往往第一个阵营的语言强调性能, int就是int,double就是double 还第二个阵营就是强调便利性 ,int是var , double还是var。
选择语言的时候,其实就是在做选择题。是选择便利还是选择性能。
往往新出的语言便利性都很强,是因为硬件性能提高了,从而可以为了便利性放弃性能要求。
编程语言的主要矛盾就是程序开发的便利性和硬件水平的矛盾。
如果能够穿越回到70年代(首先在中南海西面买块地), 那时候你坐在庞大的计算机面前写代码的时候,无意间小手一抖,多敲俩空格,然后程序oom。
不要感觉上面的事情不可思议,那时候内存低的可怜,每一个字符都是严格定义的,不允许任何浪费。能运行java虚拟机都是天方夜谭,怎么可能会有java语言。
节俭是一种美德,浪费不一定是坏事情
随着硬件性能的提高,出现了越来越多的编程语言,新出的语言往往性能上浪费,便利性上提高。要是按照几十年前的标准衡量,有一些使用新语言开发的热门应用程序对硬件资源浪费非常惊人。
不仅编程语言有这种现象,这实际是一种普遍的历史趋势, 随着技术的发展,每一代人都在做上一代人觉得浪费的事情。你可以想象下30年前打个长途电话,而现在,别说长途电话了, 有的人都就坐飞机去约炮了,这个在以前很难想象。
浪费可以分成好的浪费和坏的浪费。用更多的浪费换来简单的设计,并不是什么坏事。
如何才能充分利用新硬件更强大的性能最有利地“浪费”他们?
这时候问题就回到了开始, 证明:凡是能用JS开发的最终都会用JS开发
JS这种语言扩展性极强, 性能比起其它语言只能呵呵了。 但是硬件速度会提高很快。
Paul Graham算过,如果摩尔定律一直成立。一百年后计算机的运行速度是现在的74乘以10的18次方倍。(准确地说是73 786 976 294 838 206 464倍)
终有一天,你会在选择的时候忽略性能,选择便利性。
以前上学的时候,经常去网吧玩大话西游和传奇。而现在随便一个页游就能做出这种游戏效果。10年前你很难想象在网页上能玩这种游戏。
你现在就可以尝试想象一下若干年后,打开网页能玩魔兽世界。这并不是不可能实现的。
强调性能的语言还能否生存
我们都知道C/C++ 就是强调性能的语言, 我们做游戏或者视频播放的都是要求性能的。他们会不会被新的语言取代呢?
我可以郑重证明,不会的。
虽然上面我说的Java语言属于强调性能的第一阵营的语言。但是相对于C/C++ 它显然是增强了便利性。
语言是发展的,是迭代的, 随着硬件性能提高,基本上每个节点下都会产生新的语言,相对于之前的语言浪费性能,增强便利性。
但是很难取代之前的语言,对性能要求高的程序依然会出现的, 即使以后可以在网页上玩魔兽世界,但是还会出现 超级魔兽世界,泰坦世界, 宇宙世界 等等一大堆新的对性能要求较高的游戏。
微信小程序会取代其它APP吗?
问题回到我们的主题微信小程序上,微信小程序会取代其它APP吗?
我的观点很明确,
现在不会取代,以后会,但是以后会出现以后的微信取代不了的;以后的以后会取代以后的,但是以后的以后会出现以后的以后的微信取代不了的 …..
其实也不难解释,10年前我们不能在网页上玩传奇, 但是现在可以。但是现在又有了魔兽世界,也许10年后网页上就能玩了,但那时候肯定还会出现 超级魔兽世界之类的游戏不能在网页上玩。
而小程序出来之后, 个人感觉将会无限方便;
像在学校的同学们,想使用其他软件,免不了浪费流量去下载一个App,而之后使用了一下。觉得又不想使用,太浪费内存,只好删除。
无线的繁琐,浪费流量。
而小程序的出来,让这种问题大大的解决了;
虽然现在公测了,但是具体到用户的体验上更便捷,更全面,觉得今年将无望了吧;;
考虑到微信在社交领域的强大影响力,不少开发者对此也颇为期待,相信小程序会给未来的程序开发和应用带来非常大的影响,不少开发者已经迫不及待的通过各种途径为自己充电,准备在新一轮的科技热点到来之前蓄势待发。那么,如何开发小程序呢,今天,我们就为大家整理了一份开发小程序的必备技能图谱,
精华内容一瞥:
- 全面解析JavaScript中的事件绑定、事件冒泡、事件捕获和事件执行顺序
- 利用滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
- 解析Javascript事件冒泡机制
- 深入了解JavaScript闭包及其机制
- JavaScript中的event对象之总结
- 全面解析Javascript中事件捕获、事件冒泡以及事件委托机制
精华内容一瞥:
- HTML5+CSS3实现类似网易云音乐的移动版播放器
- 逼真的HTML5 3D水波动画 可多视角浏览
- HTML5 Canvas绘制转盘抽奖
- HTML网页之坦克大战游戏
- 让HTML5来为你定位
- 炫酷实用的10个HTML5动画应用
- HTML5 3D衣服摇摆动画特效
- 避坑宝典:如何选择HTML5游戏引擎
- Hybrid H5跨平台性思考
- HTML5游戏开发专题视频集
精华内容一瞥:
- React-Native系列Android——通信数据模型分析
- React Native导航Navigator组件基本使用方法
- React Native之Android Tabbar的实现
- React-Native系列Android——Native与Javascript通信原理(一)
- React-Native系列Android——Native与Javascript通信原理(二)
- React-Native系列Android——Native与Javascript通信原理(三)
- React native 实战系列教程之影片数据获取并解析
- 基于React Native的Android开发框架搭建
- React Native调试技巧与心得
- React Native学习实践:动画初探之加载动画
- React:组件的生命周期
- 一个资深iOS开发者对于React Native的看法
- 阿里巴巴开源前端框架–Weex实践
- Web:一张图读懂Flux
- Windows10环境下React Native打包的个人实践
以上仅仅个人观点;欢迎批评指正;
参考文档 http://blog.csdn.net/yulianlin/article/details/52621413
参考文档 http://geek.csdn.net/news/detail/103138
微信小程序分析见解的更多相关文章
- 原创:去繁存简,回归本源:微信小程序公开课信息分析《一》
以前我开过一些帖子,我们内部也做过一些讨论,我们从张小龙的碎屏图中 ,发现了重要讯息: 1:微信支付将成为重要场景: 2:这些应用与春节关系不小,很多应用在春节时,有重要的场景开启可能性: 3:春节是 ...
- 软件产品案例分析——福州大学微信小程序
一 .调研,评测 评测 第一次上手体验: 刚进入看到菜单界面,感觉还是比较生动清晰的,功能很多,也很全面,包涵了大部分学生所需要的功能,就是第一次身份验证那里找了半天. bug: 1.点击进入学生证附 ...
- 微信小程序、安卓APP、苹果APP对比分析
今天的话题主要是关于微信小程序.安卓APP.苹果APP对比分析.既然是对比分析肯定是将它们一个一个说明. 本篇不涉及技术话题,只讲解微信小程序.安卓APP.苹果APP它们各自的优缺点及其应用场景. 一 ...
- 从程序员的角度分析微信小程序(编程语言:用到什么学什么)
从程序员的角度分析微信小程序(编程语言:用到什么学什么) 一.总结 一句话总结:微信小程序原理就是用JS调用底层native组件,和React Native非常类似.(需要时,用到时再学) 1.选择语 ...
- 从程序员的角度分析微信小程序
昨天朋友圈被微信小程序刷爆了. 我赶快在书架上拿出三年前买的书,把上面的土擦干净,压压惊. 作为一个并不是资深的程序员. 从程序员的角度分析一下微信小程序,欢迎指点. 首先吐槽 微信小程序只发了200 ...
- 微信小程序应用安全分析及设计
针对微信关于小程序安全设计的分析 针对微信小程序开发配置及部分配置机制分析微信小程序安全设计: AppSecret 管理员生成AppSecret,在与微信后台交互过程中部分接口使用,如 auth.co ...
- 微信小程序开发常见问题分析
距离微信小程序内测版发布已经有十几天的时间了,网上对微信小程序的讨论也异常火爆,从发布到现在微信小程序一直占领着各种技术论坛的头条,当然各种平台也对微信小程序有新闻报道,毕竟腾讯在国内影响力还是很大的 ...
- [微信小程序]初试——成绩分析小程序问题总结
文件类型说明 第一次打开微信小程序的开发者工具,就是下面这个样子. 好多已经存在的默认文件 .js .json .wxml .wxss 首先当然要搞懂这些文件都是干什么的 app.js是小程序的脚本代 ...
- 微信小程序尝鲜一个月现状分析
概述 曾记得在微信小程序还没有上线的时候,大家都是翘首以待.希望在张小龙,在企鹅的带领下,走出差别于原生开发的还有一条移动开发的道路,我也是一直关注着.知道1月9号,微信小程序最终对外开放了,作为第一 ...
随机推荐
- IDEA取消形参名显示
idea默认情况下如显示形参名,看起来有点不习惯 现在设置去掉 (1)点击工具栏上的快捷按钮(快捷键:alt + ctrl + s) 或者"File" -> "Se ...
- Ionic 新闻类别菜单
1.效果图 2.controller .js .controller("ProductCtrl", function ($scope,$ionicModal,$ionicScr ...
- Java的跨平台特性
语言跨平台是编译后的文件跨平台,而不是源程序跨平台.Java源代码首先经过编译器生成字节码,即class文件,该class文件与平台无关,而class文件经过解释执行之后翻译成最终的机器码,这是平台相 ...
- jeecmsv8 shiro 分析
源代码注释可见 https://github.com/chenbo19867758/jeecmsV8-BoBo.git 1.后台登录页面 /jeeadmin/jeecms/login.do 1 w ...
- Vue 将本地图片上传到阿里云
一.获取服务器通行证(即获取AccessKey和accessKeySecret) getAccess () { let that = this let url = '服务器地址' let params ...
- 原生JS制作验证码(优化)
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 一维、二维数组 与 常用的返回数组 以及 fetch_all与fetch_row的区别
一维数组:单行单列的数组. 二维数组:多行多列的数组. (至少两行两列) 索引数组: fetch_all() 返回所有数组 fetch_row() 返回一行或一列数组 (第二行需要输入两 ...
- DLINK 企业路由器内网部署web开启端口转发后还需要开启是否支持端口回流功能
跑后台使用的服务器,配置一般都很低,带宽只有2Mb 一些大型文件比如app的更新包使用这种服务器不可行 但是公司的网络是100Mb对等静态ip专线 所以能利用起来,每年将会省下8万块 说干就干,这个步 ...
- java 遍历
LinkedList倒序遍历 public List<Integer> getNewsFeed(int userId) { List<Integer> res = new Ar ...
- 在Linux中常用的启动引导工具:grub和lilo
在Linux和WINDOWS两系统并存时就需要安装GRUB(Grand Unified Bootloader),GRUB被广泛地用于替代lilo,GRUB支持在启动时使用命令行模式,支持md5加密保护 ...