手机可以开发微信开发调试小工具小程序吗

对比微信小程序和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调用系统接口更稳定,甚至依附于微信,我们可能少了诸如在某些手机系统中管理应用生命周期、避免程序被杀死的麻烦。
总之,我的感受是
虽然功能有限,但是足够敏捷开发 在需求能够被满足的情况下,尽量适用微信开发。微信小程序开发需要避开哪些坑?众多开发者经验总结
稿源:微信小程序
微信小程序的兴起让许多无法承担传统APP开发费用的企业看到了曙光。有些企业在有技术团队和App开发经验的基础上转移开发重点,有些企业则借助「即速应用」这款无需代码直接生成的微信小程序开发工具进行迅速开发。那么微信小程序开发需要注意哪些事项呢?1、微信小程序名称可以由中文、数字、英文。长度在3-20个字符之间,一个中文字等于2个字符。2、微信小程序名称不得与公众平台已有的订阅号、服务号重复。如提示重名,请更换名称进行设置。3、微信小程序名称在帐号信息设置时完成,请谨慎设置,一旦设置暂不支持修改。4、更换名称进行设置。如果企业商标,组织名称等名称被侵权,可通过公众平台侵权投诉流程发起投诉,取回名称使用权。5、小程序的功能定义与实际提供的服务必须一致;小程序所提供的类目,必须放置在首页,最深也只能放置在二级页面;6、个人开发者无法申请微信小程序;目前微信仅支持企业、政府、媒体、其他组织申请。7、一个主体可以注册30个,一个绑定身份的开发者只能创建5个微信小程序。8、如果你不是特殊组织,你还是要花300元进行认证。即使你对公帐号已经验证,你也需要缴纳300**元**(支持微信支付)进行验证,这样才能够打开审核开关,发布小程序。微信支付需要微信认证后才能使用。9、微信小程序一如既往的不支持诱导分享、诱导关注,虚假欺诈等内容,也不支持广告展示比例超过50%的页面内容;10、服务器配置每月只有3次修改机会,省着点用,小心没机会。没事别乱动下面的配置,一定确定了再动,并且一次性写完整,不然你改个小标点都会浪费你的一次机会。11、你的域名、备案、https要准备好,不然做不了。(服务器域名需进过ICP备案、新备案域名需24小时候才能配置。域名格式只支持雅文大小写字母、数字及“-”,不支持IP地址及端口号)12、微信小程序头像、介绍每月只能修改5次,服务范围每月只能修改1次。小程序二维码在第一个版本上线后才能获得。13、选用模板消息时,你可用该标题的模板搭配不同的关键词使用,配置提交后关键词种类和顺序将不能修改。14、找不到模板关键词的时候,可以进行申请添加。每月可以提交5次新关键词,通过后会被共享。(堆自家关键词的好机会呀!!)15、一个小程序账号只有一个管理员(可修改),可以绑定10位开发者。16、微信小程序开发注意事项重点注意:开发版本:使用开发者工具,可将代码上传到开发版本中。 开发版本只保留每人最新的一份上传的代码。点击提交审核,可将代码提交审核。开发版本可删除,不影响线上版本和审核中版本的代码。审核中版本:只能有一份代码处于审核中。有审核结果后可以发布到线上,也可直接重新提交审核,覆盖原审核版本。线上版本:线上所有用户使用的代码版本,该版本代码在新版本代码发布后被覆盖更新。以上就是微信小程序开发过程中需要注意的事项。不管是依靠自己的技术团队进行开发,还是借助无需代码的微信小程序开发工具「即速应用」(www.jisuapp.cn)直接生成,企业在开发微信小程序时都需要注意这些事项,避免不必要的时间与金钱的浪费。
有好的文章希望站长之家帮助分享推广,猛戳这里
本网页浏览已超过3分钟,点击关闭或灰色背景,即可回到网页微信小程序跨出了一小步:可从手机桌面直接启动-钛媒体官方网站触摸科技-专业微信小程序开发
专注微信小程序开发托管 微信公众号开发托管 高端建站 &手机APP开发 品牌定位 用心服务 帮您实现互联网品牌价值。团队有多年丰富的互联网经验,了解最新互联网+体验及交互原则,专注于创意设计实现商业价值最大化。
微信小程序开发 托管
高端网站 搭建 托管
微信公众号开发 托管 营销
手机APP开发 定制
各种微信小程序模板,满足您的不同需求
小程序商城系统,让你的小程序具有商城功能
小程序同城,想做一个类似58的平台吗? 快来抢占城市的风口吧!
基于小程序的名片录入与分享工具,解决工作场景忘带名片的尴尬
基于小程序的酒店应用,提供在线预订及咨询服务等功能
基于小程序的拼团应用,用户可通过拼团,随时发起拼团活动并分享给好友
小程序拼车,我要找人,我要找车,统统可以在这里搞定!
小程序内容管理系统,支持付费阅读,知识共享时代的盈利利器!
小程序智慧餐厅,扫一扫即可点餐,无需服务员的参与,自动出单
地方资讯类小程序
您的口味我知道,按照您的口味快速找到合适的餐馆,收藏您喜欢的餐厅
客户定制的同城信息小程序
周一至周五 :8:30-17:30周六至周日 :9:00-17:00客服热线:微信:17:07 提问
微信小程序在手机上只有打开调试模式的时候才能用
自己写的微信小程序,在手机上测试的时候只有打开调试模式才能用,在电脑上的开发工具上也能用,就是在手机上关闭调试模式后就不能用了,上传体验版也是这样,跪求大佬指点。。
按赞数排序
小程序信息未填写导致的...
你是不是用了只有认证小程序号才能使用的接口和功能了呢?我自己也写了一个正常的小程序,没啥毛病啊
不是什么小程序信息没填写,而是你小程序使用的https的域名没有在微信公众号里边添加
调试情况下才不检测域名https合法性
可以在mp.weixin.qq.com中添加服务器域名,添加完成等上十多分钟就好了,第一次可能会长一点。
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐

我要回帖

更多关于 微信小程序开发 的文章

 

随机推荐