要是腾讯把微信小程序开源代码了会很有市场吗

分享GitHub上收集的微信小程序开源项目
最近微信小程序很火,收集了许多GitHub上的微信小程序开源项目,做了一个合集
内含各种微信小程序相关的开发工具,Demo,UI组件,开发框架,项目实例等等等等
会不断更新,大家喜欢的可以star一下。
看起来不错,mark一下没有更多推荐了,
不良信息举报
举报内容:
微信小程序开源项目库汇总
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!微信小程序又升级了,可我并不怎么看好
摘要:5月27日凌晨,微信开度为小程序进行了能力升级。此次升级主要体现在三个方面:提供不限生成数量的带参数小程序码;对模版消息功能进行了升级;将小程序数据分析功能进行了优化。这三个功能的升级,将有助于更多应用场景的开拓以及用户数...
  5月27日凌晨,微信开度为小程序进行了能力升级。此次升级主要体现在三个方面:提供不限生成数量的带参数小程序码;对模版消息功能进行了升级;将小程序数据分析功能进行了优化。这三个功能的升级,将有助于更多应用场景的开拓以及用户数据的分析。 (微信小程序码)   升级后的小程序   提到微信小程序码的功能,估计很多人都不是很了解。最初的微信的小程序码是于今年4月中旬上线的,它与微信以往的二维码有联系,算是二维码的升级版,但也有区别。其中根本区别在于,小程序码采用的是区别于普通二维码的独立的编码方式和标准,且与微信系统绑定。   所以,小程序码除微信以外,任何其它软件都无法识别。因为之前普通的二维码可以任意被复制、打印和发布,存在着的巨大安全漏洞,经常会有类似于通过共享单车二维码扫码被诈骗的情况发生,因此微信针对这一安全漏洞,推出了小程序码,使每一个二维码的生成和发布都在微信管控之内,对扫码安全问题起到一定的缓解作用。   而此次升级,微信小程序码在提高了扫码安全性的基础上,考虑到以往商家对二维码量的大量需求,由最初的十万个小程序码的数量限制设定为生成数量不受限制。也就是说今后微信小程序的商家,可以任性为每个宣传物料配上独一无二的小程序码,并通过该二维码追踪到物料的投放效果,同时也可以按需生成即时使用的小程序码,而不必担心资源是否浪费。   关于模板消息功能的升级,按照微信官方的说法是:支付成功后,支持7天内下发3条模板消息,及时提醒用户订单或物流状态的变更,提升售后服务质量。之前的模板消息仅限于在需要对用户发送服务通知的时候发送通知,一条消息不会重复发送。但是这个功能升级以后,对于那些事儿比较多的,记性差的人来说简直是“福音”。   至于数据分析功能没有太多的变化,一方面在数据功能里新增了“用户画像”数据,即支持查看小程序新增或活跃用户的性别、年龄、地区、设备分布,能够帮助开发者更好地分析数据,辅助产品优化和运营;另一方面则是开放了自定义数据上报接口,可支持更灵活的数据上报,同时在“小程序数据助手”里新增页面转发功能,方便数据分享。   总的来看,此次微信小程序的升级,似乎更多地倾向于商家和开发者,尤其是小程序码数量的开放,今后应该会更有利于商家的商品溯源,并且颇有当初二维码横扫大街小巷的趋势。但是对于用户体验方面,除了模板消息的升级,似乎并没有太多的投入。   用户体验的缺失   小程序从开发到上线确实做出了不少的改变,但是眼看着半年就快过去,小程序在实际场景中的运用更多地似乎还是个“摆设”。当然,这是小程序一直以来因为不够完善而导致的低频问题。   小程序的出现号称能打败所有的APP,且场景覆盖人们生活的方方面面,但就目前用户使用情况来看,大部分用户在购物、用餐、阅读、出行等各方面场景的使用和消费习惯,还是更倾向于APP,因为APP相对更加简单直接,不需要进入微信再到小程序里搜索,这里浪费的时间成本是用户不愿付出的。   另外,还有一个最直观的感受,小程序在用户体验方面还是不够用心。   就F君的亲身体验举例,微信小程序里“附近的小程序”点开之后,该功能可以为你推荐由近及远的所有范围内的各色商家服务,有些类似美团、百度糯米这类吃喝玩乐APP的首页。但是也就仅限于此,而且推荐并没有那么全面,场景的细分也有做到位,反正一页翻下来各个种类的商家杂乱不堪。因为没有分类而且商家不多,所以基本没什么可供选择的内容。   而最不能让F君忍受的就是,但凡通过小程序搜索或者点进去的程序,就会被微信自动记录下来放在小程序的首页,但其实用户就只是点进去看一下而已。据说这个“贴心”的功能还一度被微信引以为傲,可在F君看来是弊大于利。将浏览过的程序服务放在首页,固然方便了用户下次直接使用,但是并不意味着每个被点击浏览的信息都是用户所需要的,这种“一厢情愿”的贴心功能,反而是负担。
  此外,F君还想提醒一句,微信是一个深耕于社交的服务平台,用户是这个平台发展的基础,无论小程序做的多么牛,忽略用户体验终究不会长久。   当然,这只是F君就小程序目前的功能评测有感而发,不代表大众审美。在用户数据分析以及场景应用的开拓方面,F君还是相信小程序未来依旧存在巨大的想象空间,有望为用户提供更多适合、贴心的服务。   新一轮的挑战   从目前的竞争趋势来看,伴随着微信小程序的不断升级,腾讯与苹果的矛盾也会升级,为什么这么说?因为微信小程序的生态已经威胁到了苹果App Store生态发展。   记得前不久,苹果对腾讯不断施压,要求其放弃iOS版本的微信赞赏功能,甚至以将在苹果App Store下架微信应用作为要挟的事情,一度引发“吃瓜群众”的广泛热议。苹果敢不敢下架微信,我们不予置评,但是有一点可以肯定,能够让苹果大动干戈的理由一定是微信威胁到苹果的利益。   设想如果小程序的开发趋于成熟,那么苹果用户即使不通过App Store下载应用,也能通过微信享受出行、订餐等一系列生活场景的服务。据了解目前微信小程序已经有超过20万第三方开发者,接下来微信还会对小程序码进行新一轮推广,这将为小程序带来更多的第三方开发者。   另外,还有一个有趣的想象,目前苹果在中国大陆的旗舰店仍然只支持支付宝和银联支付,却唯独不支持微信支付,这表明一开始苹果对微信就存在着忌惮。那么此次微信小程序再现新动作,极有可能会再次加剧双方的矛盾。   不过这还仅仅是一方的压力,要知道继腾讯推出微信小程序之后,据说“老冤家”阿里旗下的支付宝也要推出小程序。根据最新的媒体消息,支付宝将于五月下旬上线小程序,但眼看着都5月底了,还不见支付宝有什么动作。估计支付宝小程序仍需要一段时间的酝酿。   虽说支付宝在小程序的开发上较腾讯起步晚了些,但是也仍在积极寻找入口。譬如支付宝目前新增的“共享骑行”板块,也就是大家熟知的支付宝扫码开锁共享单车的功能,目前除摩拜,已有六家共享单车品牌可以不用通过APP客户端,仅需支付宝扫码就能骑走。   这功能乍一看,只是支付宝在共享单车市场之争中的一个小动作,但是仔细想来,不用下载APP即可享受出行服务,不正是小程序开发的初衷吗?或者说是小程序场景细分的一个分支。而且这种直接将所有程序以清单形式列表与小程序“附近”的功能的列表形式,似乎也颇为相似。   此外,根据5月17日,易观智库发布2017年第一季度《中国第三方支付移动支付市场季度监测报告》显示:2017年第一季度,中国第三方移动支付市场交易规模达到188091亿,其中支付宝占比53.7%,腾讯系(微信支付+财付通)为39.51%。支付宝在移动支付市场占有率居然高出腾讯的10%,对于腾讯来说,这是一个不小的差距。   要知道,微信当初开发小程序的目的之一就是想通过小程序发力,为自己移动支付市场赚取更多的流量变现,看如今这与支付宝对阵的战绩,是否与当初的意愿有些不符呢?   不过这也确实说明微信小程序还存在许多问题,除了加紧小程序的开发,还要面对来自苹果和腾讯的压力,时刻提防他们的“小动作”,对于腾讯来说确实挑战颇多。
您必须才能发表留言!
互联网科技公司“奇思客”获千万美元级A轮融资
企业股权方案提供商“荒草地股权VC”获800万天使轮融资
程序化邮件直投服务平台“PebblePost”获1500万美元B轮融资
科技初创企业“LeoLabs”获400万美元种子轮融资
室内地图和定位平台“LocusLabs”获350万美元A轮融资
为企业提供钟点工管理软件企业“WorkJam”获1200万美元B轮融资
服装租赁平台“多啦衣梦”获1200万美元A+轮融资
共享单车服务品牌“永安行”获数亿元A轮融资
会议活动平台“31会议”获4000万元A+轮融资
房地产综合门户及营销平台“楼盘网”获千万元Pre-A轮融资
共享单车平台“百拜单车”获A轮融资
共享单车平台“ofo”获4.5亿美元D轮融资
免费资讯服务平台“奖金网”获2亿元人民币B轮融资
居家上门服务品牌“泰笛科技”获1.5亿元C轮融资
提供会议语音助手服务企业“Workfit”获550万美元种子轮融资
印度公寓租赁服务平台“StayAbode”获天使轮融资
超融合基础设施初创公司“Diamanti”获1800万美元B轮融资
B2B物流公司“ BlackBuck”获3000万美元C轮融资
广告恢复平台初创公司“Uponit”获230万美元种子轮融资
在线运输及货运交易平台“uShip”获2500万美元D轮融资
仓库业务代运营服务商“鲸仓科技”获6800万元A轮融资
智能腕带品牌“GYENNO One”获数千万A轮融资
人力资源运营移动APP“职行力”获数千万元Pre-A轮融资
O2O汽车保养平台“车发发”获1亿元A轮融资
可视化软件平台“优锘科技”获7200万A轮融资
本地化生鲜品质电商“原谷生鲜”获百万元天使轮融资
地产中介平台“我爱我家”被昆百大65亿元收购
开源代码解决方案企业“Fossa”获220万美元种子轮融资
在线金融借贷平台“SoFi”获5亿美元战略融资
云通讯服务平台“Layer”获1500万美元B轮融资在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
点击阅读原文
【腾讯Bugly干货分享】打造“微信小程序”组件化开发框架
日 发布,来源:
Bugly 之前发了一篇关于,小伙伴们在公众账号后台问了很多关于小程序开发方面的问题,精神哥在查阅相关内容的时候,发现了龚澄同学自己写了一个小程序开发框架,真的怒赞,赶紧安利给大家。
同时,如果大家有关于小程序的相关问题,可以在评论区留言,我们整理一下,看看后续为大家出一篇关于大家开发的问题解答。 千万不要问小程序的入口在哪里,精神哥也不知道,哈哈哈
作为第一批小程序内测用户,我很有幸见证了小程序的成长,小程序上手十分简单,容易理解。但同时,因为运行环境的原因导致小程序无法使用市面上的流行框架。小程序本身提供一此特性如:模块化,模板,数据绑定等,能极大的方便了使用惯MVVM框架的用户。
在几个月的开发历程里,我一直希望能有一套方案更大可能的让小程序开发更贴近于当下开发习惯,因此才会有wepy。通过wepy开发的代码经过编译后,能生成一份完美运行在小程序端的代码,而且wepy的目的就是让小程序开发更贴近于传统H5框架开发,让小程序能像开发H5一样支持引入NPM包,支持组件化开发以及支持JS新特性等等。
小程序框架wepy文档
成品DEMO展示
一个是使用wepy new demo命令生成的标准demo
一个是基于wepy开发的手机充值的完整demo。
一个是基于wepy开发的开源的仿微信的聊天界面
以上三个demo均在安卓机和IOS机上运行过通。
附上DEMO下载地址https://github.com/wepyjs/wepy-wechat-demo
代码规范:
变量与方法使用尽量使用驼峰式命名,避免使用$开头。以$开头的方法或者属性为框架内建方法或者属性,可以被使用,使用前请参考文中提供的API文档。
入口,页面,组件的命名后缀为.wpy。外链的文件可以是其它后缀。请参考文中的wpy文件说明
使用ES6语法开发。框架在ES6下开发,因此也需要使用ES6开发小程序,ES6中有大量的语法糖可以让我们的代码更加简洁高效。
使用Promise框架默认对小程序提供的API全都进行了 Promise 处理,甚至可以直接使用async/await等新特性进行开发。
项目创建与使用
以下安装都通过npm安装
安装 wepy 命令行工具
npm install wepy-cli -g
在开发目录生成开发DEMO
wepy new myproject
开发实时编译
wepy build --watch
项目目录结构
开发使用说明
使用微信开发者工具新建项目,本地开发选择dist目录。
微信开发者工具 → 项目 → 关闭ES6转ES5。
本地项目根目录运行wepy build --watch,开启实时编译。
主要解决问题:
1. 开发模式转换
在原有的小程序的开发模式下进行再次封装,更贴近于现有MVVM框架开发模式。框架在开发过程中参考了一些现在框架的一些特性,并且融入其中,以下是使用wepy前后的代码对比图。
官方DEMO代码:
基于wepy的实现:
2. 支持组件化开发。
参见文中章节:组件示例代码:
3. 支持加载外部NPM包。
在编译过程当中,会递归遍历代码中的require然后将对应依赖文件从node_modules当中拷贝出来,并且修改require为相对路径,从而实现对外部NPM包的支持。如下图:
4. 单文件模式,使得目录结构更加清晰。
官方目录结构要求app必须有三个文件app.json,app.js,app.wxss,页面有4个文件 index.json,index.js,index.wxml,index.wxss。而且文件必须同名。所以使用wepy开发前后开发目录对比如下:官方DEMO:
使用wepy框架后目录结构:
5. 默认使用babel编译,支持ES6/7的一些新特性。
用户可以通过修改.wepyrc配置文件,配置自己熟悉的babel环境进行开发。默认开启使用了一些新的特性如promise,async/await等等。
示例代码:
6. 针对原生API进行优化。
对现在API进行promise处理,同时修复一些现有API的缺陷,比如:wx.request并发问题等。原有代码:基于wepy实现代码:
在同时并发10个request请求测试时:不使用wepy:
使用wepy后:
.wepyrc 配置文件说明
执行wepy new demo后,会生成类似配置文件。wpyExt:缺省值为’.wpy’,IDE默认情况下不会对此文件类型高亮,此时可以修改所有文件为.vue后缀(因为与vue高亮规则一样),然后将此选项修改为.vue,就能解决部分IDE代码高亮问题。sass:sass编译配置,参见(https://github.com/sass/node-sass)less:less编译配置,参见(http://lesscss.org/#using-less-usage-in-code)babel:babel编译配置,参见(http://babeljs.io/docs/usage/options/)
wpy文件说明
wpy文件的编译过程过下:
一个.wpy文件分为三个部分:
样式&style&&/style&对应原有wxss。
模板&template&&/template&对应原有wxml。
代码&script&&/script&对应原有js。
其中入口文件app.wpy不需要template,所以编译时会被忽略。这三个标签都支持type和src属性,type决定了其代码编译过程,src决定是否外联代码,存在src属性且有效时,忽略内联代码,示例如下:标签对应 type 值如下表所示:
Script说明
程序入口app.wpy
入口app.wpy继承自wepy.app,包含一个config属性和其全局属性、方法、事件。其中config属性对应原有的app.json,编译时会根据config生成app.json文件,如果需要修改config中的内容,请使用系统提供API。
页面index.wpy
页面入口继承自wepy.page,主要属性说明如下:
组件com.wpy
页面入口继承自wepy.component,属性与页面属性一样,除了不需要config以及页面特有的一些小程序事件等等。
在小程序中,可以利用 JS模块化 和wxml模板 ,对业务模块进行划分,实现如下效果:
但实际上不同的模块代码与事件交互都是在同一个页面空间处理的,比如说 moduleA 和 moduleB 中同时存在一个 add 响应事件时,就需要在 html 和 js 中分别定义为 moduleA_add,moduleB_add。业务模块复杂之后就不利于开发和维护。
在wepy中,利用组件化的特性可以解决此类问题,如下图:
ComA 和 ComB中间的数据与事件相互隔离,可以分别拥有自己的add事件。
当页面或者组件需要引入子组件时,需要在页面或者script中的components给组件分配唯一id,并且在template中添加&component&标签,如index.wpy。
页面和组件都可以引入子组件,引入若干组件后,如下图:
Index页面引入A,B,C三个组件,同时组件A和B又有自己的子组件D,E,F,G,H。
组件通信与交互
wepy.component基类提供三个方法$broadcast,$emit,$invoke,因此任一页面或任一组件都可以调用上述三种方法实现通信与交互,如:
$this.$emit('some-event', 1, 2, 3, 4);
组件的事件监听需要写在events属性下,如:
$broadcast$broadcast事件是由父组件发起,所有子组件都会收到此广播事件,除非事件被手动取消。事件广播的顺序为广度优先搜索顺序,如上图,如果Page_Index发起一个$broadcast事件,那么接收到事件的先后顺序为:A, B, C, D, E, F, G, H。如下图:
$emit$emit与$broadcast正好相反,事件发起组件的父组件会依次接收到$emit事件,如上图,如果E发起一个$emit事件,那么接收到事件的先后顺序为:A, Page_Index。如下图:
$invoke$invoke是一个组件对另一个组件的直接调用,通过传入的组件路径找到相应组件,然后再调用其方法。如果想在Page_Index中调用组件A的某个方法:
this.$invoke('ComA', 'someMethod', 'someArgs');
如果想在组件A中调用组件G的某个方法:
this.$invoke('./../ComB/ComG', 'someMethod', 'someArgs');
小程序数据绑定方式
小程序通过Page提供的setData方法去绑定数据,如:
this.setData();
因为小程序架构本身原因,页面渲染层和JS逻辑层分开的,setData操作实际就是JS逻辑层与页面渲染层之间的通信,那么如果在同一次运行周期内多次执行setData操作时,那么通信的次数是一次还是多次呢?在经过与开发小程序的同事求证后得知,确实会通信多次。
wepy数据绑定方式
wepy使用脏数据检查对setData进行封装,在函数运行周期结束时执行脏数据检查,一来可以不用关心页面多次setData是否会有性能上的问题,二来可以更加简洁去修改数据实现绑定,不用重复去写setData方法。代码如下:
this.title = 'this is title';
但需注意,在函数运行周期之外的函数里去修改数据需要手动调用$apply方法。如:
wepy脏数据检查流程
在执行脏数据检查是,会通过this.$$phase标识当前检查状态,并且会保证在并发的流程当中,只会有一个脏数据检查流程在运行,以下是执行脏数据检查的流程图:
其它优化细节
1. wx.request 接收参数修改
2. 优化事件参数传递
3. 改变数据绑定方式
保留setData方法,但不建议使用setData执行绑定,修复传入undefined的bug,并且修改入参支持:this.setData(target, value)this.setData(object)
4. 组件代替模板和模块
wepy.event
wepy.component
如果您觉得我们的内容还不错,就请扫描二维码赞赏作者并转发到朋友圈,和小伙伴一起分享吧~
本文系腾讯Bugly独家内容,转载请在文章开头显眼处注明作者和出处“腾讯Bugly(http://bugly.qq.com)”
我要该,理由是:
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)查看: 5765|回复: 49
微信小程序_腾讯地图定位源代码
阅读权限130
在线时间 小时
微信小程序_腾讯地图定位源代码
QQ截图33.jpg (0 Bytes, 下载次数: 30)
09:02 上传
QQ截图55.jpg (0 Bytes, 下载次数: 13)
09:02 上传
09:03 上传
点击文件名下载附件
597.24 KB, 下载次数: 215
售价: 5 铜板 &[]
微信小程序_腾讯地图定位源代码
阅读权限140
在线时间 小时
微信小程序_腾讯地图定位源代码~~
阅读权限80
在线时间 小时
谢谢楼主分享 谢谢您
阅读权限100
在线时间 小时
关于微信公众号怎么玩?刚刚接触
阅读权限80
在线时间 小时
ddddddddddddd
阅读权限80
在线时间 小时
谢谢分享!
阅读权限50
在线时间 小时
!!!!!!!!!!!!!!!1
阅读权限80
在线时间 小时
dddddddddd
阅读权限50
在线时间 小时
nmn.n.n急急急急急急
阅读权限50
在线时间 小时
运营版911电玩棋牌游戏程序 保证运营服务器打包
(亲测搭建成功)傲玩棋牌源码+搭建教程+授权工具
就这个,需要的回复吧,楼层能有多少。**** 本内
速来的几个版本都玩过.这个版本算是完美的了平民
这个版本自己也在用,自己没有修改过版本,绝对
完整得,大家可以自行测试,我还在摸索中,
| 联系方式
COPYRIGHT(C)2015 ZHONGQINGLONGTU NETWORK CO.LTD ALL RIGHTS RESERVED.ICP备号-4
北京中清龙图网络技术有限公司

我要回帖

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

 

随机推荐