微信小程序分析见解
前两天朋友圈都快被小程序给刷爆了;
对于小程序这方面, 由于没有公测的资格。所以翻阅了许许多多的资料,来了解一下小程序;
微信小程序:
小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。
据传是张小龙发在朋友圈对小程序的评论
下面是禅叔的观点:
小程序原理就是用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号,微信小程序最终对外开放了,作为第一 ...
随机推荐
- Django项目:CMDB(服务器硬件资产自动采集系统)--05--05CMDB采集硬件数据的插件
#__init__.py # ————————05CMDB采集硬件数据的插件———————— from config import settings import importlib # —————— ...
- bootstrap字体图标在IE上不显示
最简单的办法就是直接下载最新的bootstrap.css替换掉旧的. 但是由于我做的项目直接替换会出现样式冲突问题,因此只好慢慢找是什么属性导致图标不显示,最后找到了解决办法: 1.首先保字体文件的位 ...
- linux 编译C语言代码后产生OBJ文件的方法
如果你不指定编译成什么文件,gcc默认一步到位,直接生成可执行文件你可以试试以下几个参数 -c 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件 例子用法: gcc -c hello.c 他 ...
- 跟我一起做一个vue的小项目(二)
这个vue项目是紧跟着之前的项目跟我一起做一个vue的小项目(一)来的. 我继续后面的开发(写的比较粗糙,边学边记录) 下图是header头部的样式 header组件内容如下 //header.vue ...
- Linux命令CURL用法
Curl是一个命令行方式下传输数据的开源传输工具,支持多种协议包括:FTP,HTTP,HTTPS,IMAP,POP3,TELNET等.同样支持HTTP POST方法,PUT方法,FTP上传,cooki ...
- lc287 Game of Live
lc287 Game of Live 难点在于不能使用额外的空间. 观察到数组中每一个元素要么为1要么为0,32位int只用了一位,可以利用bit操作,将第二次state存储到int变量的倒数第二位中 ...
- 干货来了!2019阿里云合作伙伴峰会SaaS加速器专场回顾合集:嘉宾分享、深度解读
2019年7月26日,在上海举办的阿里云合作伙伴峰会上,阿里云正式发布SaaS生态战略,计划用阿里云的品牌.渠道.资本.方法论.技术加持伙伴,成就亿级营收独角兽. 该生态战略计划招募10家一级SaaS ...
- copyTo和clone的区别/制作mask的fillpoly函数(有问题)
OpenCV中mat::copyto( )函数使用方法 OpenCV的fillPoly函数 使用OpenCV库进行图像处理时,经常会用到clone和copyTo函数,这里对两个函数进行介绍. copy ...
- 转:Android检查设备是否联网
public static boolean isConnect(Context context) { ConnectivityManager connectionManager = (Connecti ...
- js中定义变量之②var let const的区别
var 上一篇文章有讲过,是js定义变量的关键词. 但是在es6中,新添加了两个关键词,用于变量声明的关键词:let 和const 接下来就说一下var let 和const的区别: 首先说var 用 ...