微信小程序 高度在多高

微信小程序设计规范_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
微信小程序设计规范
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩25页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢对比微信小程序和Android开发
这篇文章将围绕下面几个方面:
从开发模式(过程)上对比和小程序,比较两种&模式&的异同 从实现功能上对比,主要是看看微信小程序的局限 自己的一些看法,微信的优势
开发过程上的对比
在我看来,开发一款app,需要做的主要是界面布局以及交互处理,然后是后面的业务逻辑处理。虽然平台不同,但是任务都是趋同的。下面从这两个大的方面进行对比一下。
微信把这个小程序框架称为&MINA&,并声称:
MINA(MINA IS NOT APP) 是在微信中开发小程序的框架。
MINA的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生APP体验的服务。
MINA提供了自己的视图层描述语言WXML和WXSS,以及基于Script的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件,可以让开发者可以方便的聚焦于数据与逻辑上。
个人觉得第三点说得特别好。大概说清楚了开发者要干什么。大概就是以写Web的方式写好前端,然后通过双向数据绑定技术和业务端交互,业务端通过javascript代码实现业务处理,必要时调用微信接口完成一些处理。
一些生命周期函数
这里所说的生命周期函数是指的整个应用以及每个页面的声明周期函数,在Android中,对应着App、Activity类,而在小程序中,对应着App和Page两个函数对象(注意,javascript是基于原型和构造器的,而java是基于类的,所以这里就造成了一些写法的不同)。以App为例,下面是一个代码实例:
onLaunch: function () {
console.log('App Launch')
onShow: function () {
console.log('App Show')
onHide: function () {
console.log('App Hide')
每个小程序起起来时就会有一个App实例,我们只需要在这个实例中添加自己的逻辑即可,唯一不同的是这是在javascript这种语言上写的(java和javascript的区别就像是雷锋和雷峰塔,所以这里形式上的不同还是蛮大的)。
视图层代码
前面说了,写视图层的体验有点像Web前端,主要是写多了Android,习惯性地会把界面的样式以及交互放在一块儿写(事实上就是你在xml上做的工作),而在Web端,需要html和css文件来共同完成。在小程序里面,对应的是WXML(WeiXin Markup Language)和WXSS(WeiXin Style Sheets),注意虽然模式和web很像,但是在形式上算是微信自己开发的一套。具体来讲,你需要做两件事:
在WXML中通过(微信所提供的标签)构建页面结构,并且在其中完成数据绑定和事件绑定 在WXSS中完成样式的定义,用以控制WXML中组件的样式。WXSS具有大部分特性,同时也有部分扩充。
基本上,视图层很像在写Web端。不过你也看到了,和Android比起来,限制因素在于微信给你提供了组件,然后你最多改改样式,更多的像自定义组件什么的就不可能了。
逻辑层代码
不同于Android有一堆的组件(Activity、Service..)来支撑逻辑层,小程序就一个Page()函数(类似与App()函数,在框架里面填逻辑),所以显得很简单。基本上,数据通过双向绑定进行传递和刷新的,然后在page内可以完成一些交互处理,更多的能力(访问网络、存储)是通过,这些api以wx.开头,目前来看,不是太多,所以可以很快看完,当然也意味着其实可以完成的工作还着实有限,这个后面说。
整体来说,,MINA程序包含一个描述整体程序的app和多个描述各自页面的page,一个MINA程序主体部分由三个文件组成,必须放在项目的根目录,是app.js,app.json,app.wxss,分别用作生命周期函数、配置文件和样式文件,一个MINA页面由四个文件组成,是.js,.wxml,.json,.wxss,分别用作生命周期函数、布局文件、配置文件和样式文件,他们需要通过同名且放在同名文件夹下(方便框架通过名字路由)。比起Android来,套路应该是固定而简单得多。
再回头看看Android开发,突然觉得可以玩的简直是太多了&下面简单描述一下,肯定是不全的。
一些生命周期函数
App、Activity是肯定的,其实套路和小程序还是差不多的。只不过组织形式是类而不是函数对象。之前说了,这是因为Js和Java语言特性造成的。
视图层代码
通常来讲,Android的界面在.xml文件中定义,其实仔细想想就会发现,在文件中,我们是同时定义了布局,和交互逻辑的,这是因为本质上这些.xml声明都是View类的子类,我们通过重写View的声明周期方法来完成了对齐的样式(onDraw以及LaoutParams)、以及交互的定义(各种on..listener)。所以在.xml中更像是对这些对象进行一系列实例化。至于双向数据绑定,
逻辑层代码
这一层还是要复杂得多..放到后面对比来说吧。
&..不想说了,一方面写法多,一方面相对于小程序也蛮复杂的。
功能上的对比
要怎么对比呢?读Android的开发文档我之前看了一个星期,而微信小程序的文档也就两三个小时,从体量上说就知道无意Android功能要强大的多。所以基本上小程序能做的以外就是不能做的,这句话听起来很废话,但事实上是因为微信给的API有限,所以你基本上能把自己需求列出来,查一下API是否给出,没给出的话基本上还是算了吧。下面我根据来罗列下小程序的局限。
自定义控件和布局
这个应该是最直观的一点,因为实际上你所使用的视图层是被微信进一步封装了的,小程序自定义控件还是蛮复杂的,因为MINA给出了绘图(但是只能在上作画)和动画(类似于Android中的属性动画)的功能,所以或许存在理论上的可能性。
这个要特别拿来说一下,官网原文是:
每个微信小程序都可以有自己的本地缓存,可以通过wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以对本地缓存进行设置、获取和清理。
注意: localStorage是永久存储的,但是我们不建议将关键信息全部存在localStorage,以防用户换设备的情况。
所以微信小程序使用的是缓存而非有一个自己的,这里的缓存应该类似于android的SharedPreference之类的,用键值对存的。而且小程序只能对文件进行存的操作。所以说对于那种需要数据库的应用,小程序是不适合的。
后台服务,多线程
Android中,Service是蛮重要的类,然后多线程与异步任务虽然复杂,但是能完成许多工作,但是小程序是不具有这种能力的,当然其实你可以看到你也是可以异步读写的&所以微信应该是只提供了部分功能的异步能力。
对系统服务的获取
写到这里,主要是想到了之前应用需要闹钟模块,需要让系统定时通知应用以完成特定的事件。而小程序其实是封装在微信这个应用之内的应用,所以理论上它是可以获得系统服务的,但是,如果微信不给接口一切都白说,从API文档中可以看到,微信还是提供了位置、网络状态等系统信息的,不过像通知这些服务,是暂时没有的。
与其他应用交互
这里的概念主要是对应Android的隐式意图和ContentProvider,这里Android提供了一种能力,让应用程序之间可以相互调用甚至相互操作数据(比如A打开B的音乐播放器,将A的网页内容保存到B的便签中..这里主要是场景可扩展),而微信中,这种能力被具体场景化了,比如你仍然可以调用相机拍照(微信调用隐式意图帮你实现),其他的场景你却无法实现,因为微信没有做这一层封装。
这一点不知道要不要说..因为微信小程序其实就是一种&内嵌网页&的解决方案?只不过使用了类似于hybrid的解决方案。
在Android中许多业务已经被MINA封装了(网络请求、websocket&)所以一方面你实现功能的成本降低了,另一方面这一部分优化的空间并不是那么大。
因为我还是个Js的初学者,所以暂时不知道如何在微信小程序中使用轮子。但微信和那一套还真不太一样,所以也应该没法直接使用一些开源库。
最后的总结
如前所说,如果说一般应用的容器(不知道这个比喻恰不恰当)是操作系统,那么小程序的容器则是操作系统下的一款应用,自然而然的,它本身就是某个应用下的一个子模块。而这个模块能有多少功能取决于微信写了多少接口。
另一方面,因为这个容器是微信,至少我们可以假设这些接口的跨平台特性,很可能我们调用的这些接口,会比我们自己写android调用系统接口更稳定,甚至依附于微信,我们可能少了诸如在某些手机系统中管理应用生命周期、避免程序被杀死的麻烦。
总之,我的感受是
虽然功能有限,但是足够敏捷开发 在需求能够被满足的情况下,尽量适用微信开发。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'微信“小程序”再一次改变世界? | 新榜独家--百度百家
微信“小程序”再一次改变世界? | 新榜独家
分享到微信朋友圈
技术创业的时代可能要来了,但窗口期不会太长
人们讨论已久的应用号昨晚终于问世,不过正式的称呼叫“小程序”。在我们还没见到小程序长什么样子的时候,首例小程序相关交易已经基本完成,300万元买的是一个走上人生颠覆的机会,还是只是一个尝鲜的机会?
“微信是一个操作系统”,诚如冯大辉所言,不过,这个判断应该是将来时,微信正在成为、将要成为、梦想成为一个操作系统,但目前还不是。小程序的尝试,就是实现这个梦想的里程碑,微信要建立自己的AppStore,成为更多服务的中央枢纽。
在微信成为一个操作系统的过程中,将出现怎样的机会,才是小程序备受关注的原因,也是300万元赌注背后的深层思考。小程序真的会成就微信生态创业的第二春吗?也许需要保持谨慎乐观。
300万元收购一个小程序值不值?
今天上午,某互联网从业者在朋友圈发布一条消息,要把自己手头一个收到小程序内测邀请的公众号连同公司整体打包卖掉,起拍价300万元。有图有真相:
准确地说,交易对象是一个公司,下面有20几个公众号,其中最大的账号有30多万女性粉丝,其它号加起来也有10多万粉丝。但交易的核心,无疑是那个小程序的内测邀请。据腾讯科技报道,首批内测邀请名额只有200个。所谓奇货可居。
新榜在第一时间联系了要出售邀请的当事人,据悉,这笔交易已经基本完成,买家是一个不愿透露姓名的游戏公司。
至于为什么不自己做,当事人意思是,一方面是拿小程序能做什么没想明白;另一方面,对小程序的前景也没想明白,或许也是“昙花一现”。
在某种程度上,300万元是创业者对小程序期望值的定价。从今年1月份张小龙在微信公开课上透露风声之后到现在内测推出,几个月时间的种种猜想和舆论推动,昨晚消息曝出短短几个小时全网刷屏,业内已经等了太久。
小程序并不是一个全新的东西
虽然从昨晚开始,广大从业者对小程序的内测消息的反应简直可以用山呼海啸、奔走相告来形容,一夕之间,数十篇解读文章抛出,但从技术层面来讲,小程序并不是一个全新的东西。
从目前获知的信息来看,小程序作为微信公众平台一种新的产品形态,它用了类似于JS-SDK的框架,通过提供一系列的接口、组件等开发工具,帮助开发者做出一些具备简单功能的小应用,以替代过去为了一个功能而不得不开发一整套App的窘境。
公众号“乱槽之巅”写道:“从技术角度上来讲,这并非是什么改变世界的创新,在很久以前,有个东西叫做&Weight(作者应该是笔误,此处应该是指widget),再后来,还有个东西叫浏览器插件,再再后来,Facebook之类的开放平台,用的都是类似的技术。而在移动端,PhoneGap 之类的工具也早就提供了用HTML5实现App的能力。唯一令人激动的是,今天做这件事情的是一个拥有几亿用户量的超级应用。”
在张小龙公布开发小程序想法伊始,就有很多文章以“掐死App”这样耸人听闻的标题吸引眼球。但据专业人士的普遍看法,小程序对独立App的取代是有限的。
一方面,小程序在体验上仍然无法媲美原生应用,尤其是牵涉到比较复杂功能和权限的应用。
另一方面,微信的开放必然是有限的,个体层面的真实用户数据恐怕仍然难以开放给小程序,就像目前的订阅号和服务号一样,即使你有100万粉丝,也只能大概知道他们的性别、地域、使用设备分布这些粗略的信息。
小程序备受关注的原因,是因为有订阅号掀起的内容创业浪潮在先。从日微信公众平台推出之后,四年间,难以计数的千万、甚至亿万富翁在此平台上涌现,很多人获得了做梦都想不到的屌丝逆袭机会。作为微信公众平台上的新成员,小程序自然从出生就被赋予了同样的期待。
对于更多还在奋斗途中的创业者而言,过分关注哪些独立App会死掉,明显偏离焦点,我们更应该关注的是小程序将在哪些领域造就一波机会。“三节课”将所有应用,根据是否刚需及使用频次,划分在四个象限:
最好的机会在第二象限,刚需但低频。在1月份的微信公开课上,张小龙举的例子是买火车票,你可以认为12306就是小程序要取代的第一个目标。当然这个象限包含的领域非常广泛,包括医疗、家政、票务、旅游、招聘等等,也蕴含着大量的创业机会。
在小程序问世之前,魏武挥曾经写过一篇文章猜想它将带来的影响,在文章的最后,魏武挥认为在内容创业之后,这或将带来一个“技术创业的时代”。
内容创业的逻辑是否能在小程序上重演?
订阅号的繁荣源于几个基本的事实。
第一,微信公众平台提供了一整套简单易用的编辑、发布和用户管理工具,降低了内容的生产和发行成本;
第二,微信上有海量的用户,有朋友圈,有社交关系链,这降低了内容传播和用户获取成本;
第三,被很多人忽视的一点是公众号运营者拥有极高的自主权,在法律和规则框架内,发布内容是不受平台干扰的,因而广告就成为一个快速且高效的盈利途径,吸引更多人力和资本进入。
生产工具的下放,社交网络的链式传播,利益的驱使,成为一个完美的闭环,在微信平台上生长出数十个估值上亿元的项目。
不过,作为工科生,张小龙更偏爱工具,因为工具既是可控的,又包含了很多可能性。这也是在服务号之后,小程序问世的重要原因,服务号已经被证明为不成功。张小龙要用工具让微信连接万物,而这个野心,又必须借助无数开发者的努力才能实现。
小程序可能带来的机会,对于很多技术开发者无疑是利好消息。
首先,微信小程序开发有很大的想象空间。随着微信提供的工具越来越丰富、越来越完善,除了查天气、查违章这些基础功能,很可能会有一批给我们带来惊喜的小程序。
其次,提供了一套基础工具之后,很多原来停留在想法阶段的创意得以低成本的实现。对于资源有限的创业者来说,利用小程序开发MVP(最小可行性产品)测试,可以迅速试错。甚至像很多内容创业一样,从业余时间玩玩而已到最后成为估值上亿的项目。
最后,不得不说的仍然是微信的海量用户,没有任何一个其它平台可以匹敌。无需单独下载,无需另外注册,一键关注即可,无疑大大降低了用户的使用和获取门槛。
当然,这是事情好的一面,但坏的一面在于,在万众瞩目中降生的小程序,已经没有了订阅号当初自然生长的大环境。
小程序创业的窗口期可能只有一年
回到文章开头,花300万元买一个小程序邀请资格的是一家游戏公司。在这个简单的事实中,我们已经可以看到资本的虎视眈眈。
微信公众号日上线,但到第三年,才出现资本大量涌入的情况。虽然我们习惯性地将新媒体野蛮生长挂在嘴边,但订阅号的繁荣仍然符合互联网产品的生长规律。在两三年间,微信从一个用户不到两亿的新兴产品,成长为月活用户高达8亿的现象级国民应用,公众号的发展与平台是步调一致的。
但小程序从问世,一切都是准备好的。用户准备好了,创业者准备好了,资本也准备好了。在各方都想分一杯羹的情况下,小程序将会被迅速催熟,可能在全面开放后不到一年的时间里,我们就会发现多如牛毛的小程序渗入生活和工作的方方面面。
▲&爱范儿旗下玩物志仅花一个上午就做出了一个电商属性的小程序
在这场技术创业浪潮中,时间的争夺变得更加紧迫,产品开发门槛已经极低,所以用户获取的速度就将成为决定胜负的关键。就像互联网领域屡屡上演的赢者通吃一样,谁成为市场第一,谁就是最后的赢家。也许最后又变成一场资本在背后推动的推广游戏,而微信生态内已经不低的用户获取成本或将被推向一个新的高度。
从某种程度上说,订阅号造就的屌丝逆袭神话,在小程序这波浪潮中,可能不会再发生。
应用号/小程序背后的小故事:
1、首批内测邀请名额只有200个,只向服务号开放,据说还要签保密协议;
2、之所以没叫应用号,据说是因为苹果审核不通过;
3、几年前就被注册了,域名昨天也被注册了;
4、据说每个人只能关注20个小程序,不能像关注订阅号和服务号那样任性了;
5、据说微信与苹果达成协议,小程序既不能做直播,也不能做游戏。
- The End -
阅读:1236
分享到微信朋友圈
在手机阅读、分享本文
还可以输入250个字
推荐文章RECOMMEND
阅读:1784
阅读:8438
热门文章HOT NEWS
快递业的最后一公里问题其实还存在着很多的不如意。
越女事务所
百度新闻客户端
百度新闻客户端
百度新闻客户端
扫描二维码下载
订阅 "百家" 频道
观看更多百家精彩新闻

我要回帖

更多关于 微信小程序swiper高度 的文章

 

随机推荐