产品官网 a>
首页 a>
问答 a>
专栏 a>
话题 a>
商城 a>
标签库 a>
视频教程 a>
首页
问题库
资讯专栏
问答专家
标签库
课程中心
NEW
发布
提问题
发文章
价值
程序
微信
微信小程序(应用号)价值是什么?
财富值37
2016-11-06 18:49
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
7451
10
5
微信小程序(应用号)价值是什么?
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
kent0546
- 这个人很懒,什么都没留下
2016-11-06 18:54
我从技术角度聊聊小程序.
先来个开发界面截图.
工程项目,编辑开发,运行调试,打包部署...开发模式一条龙,完整的IDE.
再看看使用的语言,技术规范...虽然借鉴了react,vue等前端理念,但
事实上他是一套完全封闭的技术体系,这套体系只能用于开发小程序
.
啊!!!场景何其熟悉...android开发借鉴了java的技术理念和规范,但却是完全独立封闭的技术体系,只能用于开发安卓OS下的app...
说到这里,大家明白了.
微信已经是个OS.
有自己的开发模式,有自己的开发语言,有自己的API.比起安卓更可怕的是,
微信是个云端OS.所有的开发,部署,接口,数据流转都是基于微信这么个超级云服务上.
======================下完定义的分割线=====================
Q : 小程序真的是用H5开发吗?
A : 答案显然是NO.
小程序用的是一套全新的技术规范和技术架构,它是微信自有的
,它借鉴了许多前端开发的技术理念,例如他用react实现"组件",例如用vue实现标签式逻辑与数据绑定,甚至用CMD的require作为面向对象的js引入.你可以说它用javascript语言和标签语言和css语言来写程序,你可以说它90%跟web前端开发一样,你也可以说任何一个有经验的web前端只需要花费十分钟时间就能快速上手小程序开发,但他依然不是标准化的H5+css3+javascript,也就是说
小程序其实和w3c规范的那个html5+css3没半毛钱关系
.
我这么说,论据有以下几个:
小程序中没法使用dom,而且页面也不是基于window,document这些内置对象来做编程.
这意味着现有前端领域的绝大部分第三方框架如Jquery,Zepto都是不能用的
,就更不用提其他UI类的框架了(例如各种滚屏框架,chart图表框架,富文本框架等).另外,小程序的javascript上下文中自带了wx对象,也就是原来公众号开发中js-sdk的主对象.
小程序的标签不是html,它是借鉴react理念定义出来的一整套新的标签库,它只能运行在微信的浏览器下.
这意味着我们以往在服务号,企业号或者通过浏览器访问的前端项目代码,无法直接移植到小程序
.
参考以上代码,小程序的页面以page为主体对应html的body,以view标签对应html的div做区域布局,以各种form,input,silder等标签对应html中各种组件标签.理念很相似,但细节相差巨大.
参考以上代码,小程序的页面以page为主体对应html的body,以view标签对应html的div做区域布局,以各种form,input,silder等标签对应html中各种组件标签.理念很相似,但细节相差巨大.
html+css+js 和 wxml+wxss+js .
如上图,官方demo中一个标准页面对应的代码是这些.
如上图,官方demo中一个标准页面对应的代码是这些.
微信小程序定义了自己的一套模型,理念上学习了主流前端开发中数据/样式/控制分离,并且省去了各类繁琐的关联配置,而是从规范上规定了每个"页面"需要有同名的三个文件,各司其职.
目前从观察上发现,.js文件采用的依然是标准的javascript语法,wxss中采用了标准的css语法(我相信只是部分使用,因为css本身也是基于dom的选择器语言),而wxml与html的区别则比较大.
小程序的页面是基于本地的,无需通过服务端请求.任何页面跳转都可以不通过服务端交互.
这无疑比起服务号/企业号等基于h5的模式拥有更佳的用户体验,或许接近原生app的体验.
如上图,我在demo中点击页面跳转时network栏中都显示没有任何http交互.
如上图,我在demo中点击页面跳转时network栏中都显示没有任何http交互.
Q : 原有做服务号/企业号开发的工程师如何切换到小程序开发?
A : 前面说过由于小程序采用完全独有技术架构而非h5,所以原有的服务号/企业号应用是无法直接迁移到小程序的.小程序的开发也不是采用h5+css3+javascript的模式.
不过从技术理念和开发模式上看,有经验的前端开发人员可以快速切换到小程序开发.下面简单列一下一个前端开发工程师开发一个小程序的顺序:
创建一个模块(页面).
前端开发是以"页面"为单位,我身边的工程师在谈论自己工作量很重的时候喜欢说"我周末又得加班了,我还有X个页面没做...".同样的,小程序也是以"页"作为工作计量单位的.创建模块(test)即会创建出三个文件test.js,test.wxml,test.wxss.
切图,还是得切图.
UI给出的设计图,以前怎么切还是得怎么切,切完把html拷到wxml文件中,把css拷贝到wxss文件中,image也按照示例工程的规范放到对应位置.
然后就是暂时我也不知道应该如何更高效处理的步骤,就是把html的div,form,input,select等等的标签替换成view,text,image等等的自有组件.把css修改成以class为主体的wxss.
让小程序跑起来.
js文件写入简单的初始化逻辑,直接用微信开发工具让小程序跑起来.OK,接下来就是根据设计图的细节,逐步调整小程序"页面"的美术效果了.
绑入事件,加入交互控制的逻辑.
和web前端开发一样,小程序的交互控制也是事件驱动的,也是绑定各种按钮的onclick事件(小程序里面用bindtap),然后,在test.js里面处理各种交互逻辑.
绑入数据.
数据哪来呢?也许是页面初始化的时候通过request(ajax)从服务端请求而来.目前官方的demo中只说了数据请求采用内置的request,但没有具体的交互示例.不过不用猜也知道应该是通过http+json的模式来走.相当于小程序内置封装了ajax交互的接口.
请求回来的数据,通过标签式的逻辑和模板数据的方式填入页面,这个其实是借鉴了vue的理念,如下图.
获取数据后,小程序通过对组件setData的方式将数据装入组件中.这是小程序开发和web前端开发最大的不同,小程序是基于组件的,web前端是基于dom的.
获取数据后,小程序通过对组件setData的方式将数据装入组件中.这是小程序开发和web前端开发最大的不同,小程序是基于组件的,web前端是基于dom的.
最后列举一些小程序开发借鉴h5但可以发挥出比h5更强功力的功能.
1) 本地存储localStorage.这是h5的特色功能,但即将会在小程序身上发光发热.由于小程序的页面都是本地化存储,这意味着在没有网络的环境下也可以使用.那么结合本地存储,小程序可以满足暂时断网或网络情况较差的场景需求.这是做服务号开发所无法实现的.
2) 图形化canvas.小程序运行在微信上,微信不仅是一个web浏览器,它有能力向图像化功能提供更好的效果和更优的性能.
3) 服务端主动推送websocket.官方的demo中对于websocket功能的展望是说可以实现实时IM对话.
呵呵.不难理解.展望吧.
呵呵.不难理解.展望吧.
4) 比服务号jssdk更丰富的原生能力.地理位置,重力感应,陀螺仪,本地文件...太多可以期待的能力了.
(未完,待补...今天花太多时间写东西了,得赶紧去干活...)
===================广告的分割线===================
关注我的公众号,请搜索 : 全栈生姜头
http://
weixin.qq.com/r/3TkOFov
EXdYirc9192zP
(二维码自动识别)
公众号原文:
微信小程序来了!!!程序猿们你们路在何方? [前端篇]
加载中...
查看其它10个回答
一周热门
更多
>
相关问题
微信小程序(应用号)来了,对创业者来说有什么挑战?
10 个回答
微信小程序底层的实现原理是怎样的?
9 个回答
百度小程序有什么应用价值吗?
1 个回答
微信小程序的出现会给前端开发带来什么?
10 个回答
如何绑定微信小程序?
1 个回答
微信小程序就是 vue 吗?
10 个回答
微信小程序data数组push问题
0 个回答
微信小程序模板开发遇到的坑?
5 个回答
微信小程序如何加载h5页面
2 个回答
相关文章
微信小程序开放内测,如何申请,如何开发,入门教程
0个评论
起底网络玩游戏:玩游戏数字可造假 英国脱欧成赌注
0个评论
网传云南彝良洪灾现干部救灾作秀 官方:编辑失误
0个评论
php培训内容有人了解吗?
0个评论
王小川:搜狗不上市,不找女朋友,上市后剑指百度
2个评论
花钱提问网红:王思聪答25问赚11万多
0个评论
whatsnsV4正式运营,推荐码云下载,用过的都说好
3个评论
官方商业版问答系统价格上调说明(6月10号后)
3个评论
机票代理没落背后:航旅业IT能力发展不容忽视
0个评论
网易易盾 网易易盾官方号 134篇博客 最新博客 福利姬软色情交易流行?你可以靠它斩断传播链条
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
价值
程序
微信
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
先来个开发界面截图.
工程项目,编辑开发,运行调试,打包部署...开发模式一条龙,完整的IDE.
再看看使用的语言,技术规范...虽然借鉴了react,vue等前端理念,但事实上他是一套完全封闭的技术体系,这套体系只能用于开发小程序.
啊!!!场景何其熟悉...android开发借鉴了java的技术理念和规范,但却是完全独立封闭的技术体系,只能用于开发安卓OS下的app...
说到这里,大家明白了.微信已经是个OS.有自己的开发模式,有自己的开发语言,有自己的API.比起安卓更可怕的是,微信是个云端OS.所有的开发,部署,接口,数据流转都是基于微信这么个超级云服务上.
======================下完定义的分割线=====================
Q : 小程序真的是用H5开发吗?
A : 答案显然是NO.小程序用的是一套全新的技术规范和技术架构,它是微信自有的,它借鉴了许多前端开发的技术理念,例如他用react实现"组件",例如用vue实现标签式逻辑与数据绑定,甚至用CMD的require作为面向对象的js引入.你可以说它用javascript语言和标签语言和css语言来写程序,你可以说它90%跟web前端开发一样,你也可以说任何一个有经验的web前端只需要花费十分钟时间就能快速上手小程序开发,但他依然不是标准化的H5+css3+javascript,也就是说小程序其实和w3c规范的那个html5+css3没半毛钱关系.
我这么说,论据有以下几个:
参考以上代码,小程序的页面以page为主体对应html的body,以view标签对应html的div做区域布局,以各种form,input,silder等标签对应html中各种组件标签.理念很相似,但细节相差巨大.
如上图,官方demo中一个标准页面对应的代码是这些.
微信小程序定义了自己的一套模型,理念上学习了主流前端开发中数据/样式/控制分离,并且省去了各类繁琐的关联配置,而是从规范上规定了每个"页面"需要有同名的三个文件,各司其职.
目前从观察上发现,.js文件采用的依然是标准的javascript语法,wxss中采用了标准的css语法(我相信只是部分使用,因为css本身也是基于dom的选择器语言),而wxml与html的区别则比较大.
如上图,我在demo中点击页面跳转时network栏中都显示没有任何http交互.
Q : 原有做服务号/企业号开发的工程师如何切换到小程序开发?
A : 前面说过由于小程序采用完全独有技术架构而非h5,所以原有的服务号/企业号应用是无法直接迁移到小程序的.小程序的开发也不是采用h5+css3+javascript的模式.
不过从技术理念和开发模式上看,有经验的前端开发人员可以快速切换到小程序开发.下面简单列一下一个前端开发工程师开发一个小程序的顺序:
- 创建一个模块(页面).
- 切图,还是得切图.
- 让小程序跑起来.
- 绑入事件,加入交互控制的逻辑.
- 绑入数据.
- 最后列举一些小程序开发借鉴h5但可以发挥出比h5更强功力的功能.
(未完,待补...今天花太多时间写东西了,得赶紧去干活...)前端开发是以"页面"为单位,我身边的工程师在谈论自己工作量很重的时候喜欢说"我周末又得加班了,我还有X个页面没做...".同样的,小程序也是以"页"作为工作计量单位的.创建模块(test)即会创建出三个文件test.js,test.wxml,test.wxss.
UI给出的设计图,以前怎么切还是得怎么切,切完把html拷到wxml文件中,把css拷贝到wxss文件中,image也按照示例工程的规范放到对应位置.
然后就是暂时我也不知道应该如何更高效处理的步骤,就是把html的div,form,input,select等等的标签替换成view,text,image等等的自有组件.把css修改成以class为主体的wxss.
js文件写入简单的初始化逻辑,直接用微信开发工具让小程序跑起来.OK,接下来就是根据设计图的细节,逐步调整小程序"页面"的美术效果了.
和web前端开发一样,小程序的交互控制也是事件驱动的,也是绑定各种按钮的onclick事件(小程序里面用bindtap),然后,在test.js里面处理各种交互逻辑.
数据哪来呢?也许是页面初始化的时候通过request(ajax)从服务端请求而来.目前官方的demo中只说了数据请求采用内置的request,但没有具体的交互示例.不过不用猜也知道应该是通过http+json的模式来走.相当于小程序内置封装了ajax交互的接口.
请求回来的数据,通过标签式的逻辑和模板数据的方式填入页面,这个其实是借鉴了vue的理念,如下图.
获取数据后,小程序通过对组件setData的方式将数据装入组件中.这是小程序开发和web前端开发最大的不同,小程序是基于组件的,web前端是基于dom的.
1) 本地存储localStorage.这是h5的特色功能,但即将会在小程序身上发光发热.由于小程序的页面都是本地化存储,这意味着在没有网络的环境下也可以使用.那么结合本地存储,小程序可以满足暂时断网或网络情况较差的场景需求.这是做服务号开发所无法实现的.
2) 图形化canvas.小程序运行在微信上,微信不仅是一个web浏览器,它有能力向图像化功能提供更好的效果和更优的性能.
3) 服务端主动推送websocket.官方的demo中对于websocket功能的展望是说可以实现实时IM对话.
呵呵.不难理解.展望吧.
4) 比服务号jssdk更丰富的原生能力.地理位置,重力感应,陀螺仪,本地文件...太多可以期待的能力了.
===================广告的分割线===================
关注我的公众号,请搜索 : 全栈生姜头
http://weixin.qq.com/r/3TkOFovEXdYirc9192zP (二维码自动识别)
公众号原文:
微信小程序来了!!!程序猿们你们路在何方? [前端篇]
一周热门 更多>