YY你好:

小程序姨妈日历不是我推荐的,而是我做的。姨妈日历是一款小程序,并没有对应的App。也就是说,你在微信里用的那一款小程序,名字叫做姨妈日历的,不是App。
拿起你的手机,如果是苹果手机,那么它的操作系统是iOS;如果不是苹果手机,那么它的操作系统是安卓。打开你的手机,你的手机桌面上的一个个小方框,无论下面写着微信还是淘宝,微博还是美团,它们都叫App,应用程序。

你的手机是硬件,由许多金属,许多塑料、一点点沙子构成。如果你对着这一堆东西下命令,让它们拨打电话,这是不会有任何效果的,因为它们是一堆电子元器件,听不懂你在说什么。为了让它们能懂你,工程师们开发了一套软件,去控制这堆东西,这套软件就叫做操作系统。就你所见,也就是iOS 或者是安卓。有了它们,你才可以控制你的手机为你做事。
那么,你具体要做什么事呢?你要看时间,你要看天气,你要找人聊天,你要查询股票价格,你要打车订餐约会看电影......于是,就有了形形色色的应用。在操作系统的基础之上,软件工程师们开发出了各种各样的应用,App,每个App都有特定的功能,供你日常使用。

你看不见硬件,你也看不见操作系统,你平常能看见的是各种App。

微信是App,但它又是一种非常奇特的App。因为它的用户量太大了,大概有8亿以上。人们在上面的时间也太长了,每天会有好几个小时,打开朋友圈几十次。同时,它又是这8亿多个用户日常沟通交流用的工具,因此里面存在着大量的人际关系。

那么多人,每天在微信里花那么多时间,自然也希望里面的功能丰富一些,免得需要不断在各个App之间切换。而微信自身的能力很强大,可以处理文字,可以处理图片,可以处理音视频,可以收款,可以联络。相当于一家可以满足8亿人吃饭的餐厅,可以想见有多少张桌子,多少个服务员,多少个厨师,多少眼灶,多少个冰柜。
明白这一点,就可以试着这么理解:微信拿出部分的桌椅板凳、服务员厨师、灶台冰柜,让别家进来炒点菜,一起卖给顾客。这样的话,微信相当于一下子多了许多菜肴,能顾客更多的需求。

小程序就是这么一回事,我做的姨妈日历就是一个例子。微信不可能自己做一个姨妈日历,像是朋友圈那样放出来,给每一位用户都用,因为并不是人人都需要。但是,微信可以让我这样的人来开发一个日历,你进来之后记录你的微信昵称,你的头像,这样不用你注册,就自动成为日历的用户。你在日历里做操作,数据都放在你的名下,下一次进来你可以查阅。这样对你很方便,对于我也很方便。否则的话,我得专门去开发一款App,等着你去找,去下载,去注册。
所以,你可以这么理解:最基础的是手机,完全都是硬件;手机之上,是包裹着它的操作系统,从这里开始都是软件;在操作系统上,跑着很多个应用,各种各样的App;其中的一个App叫微信,在它里面跑着一些小程序。

现在讨论你的隐私问题:

你的通讯录在你的通讯录App里,你的照片视频都在你的相册App里,这些都是系统级的App,也就是说,它们隶属于操作系统级别。我根本够不到这个层面,我的小程序是微信内部的东西,轮不到我和系统去打交道。

App的厂商才有这个权限,它们和系统打交道,要求系统允许自己访问通讯录,访问摄像头,访问麦克风,访问地理位置。而无论你是用安卓还是苹果手机,新下载一个App的时候,都会收到系统提示:XX应用请求使用你的相册,同意?拒绝?这就是App问系统,系统问你。

那么,微信作为App从操作系统要到了一堆权限,访问相册,访问通讯录,访问摄像头,获取地理位置信息.....这都是你授权的结果,和我一点关系都没有。然后,我做的小程序如果需要你的什么个人信息,同样要向微信做请求。而微信能给我什么呢?我可以告诉你:
-你的昵称,注意,不是你的微信ID。微信ID是唯一的,可以根据你的微信ID查找到你,但是微信昵称不是。我的微信昵称是和菜头,你拿这个字是搜不到我的账号,无法添加我为好友的。所以,我根据微信给我的信息,我是无法查到你是谁的。

-你的头像,就是你账号的那个头像。
-你的性别,如果你选了,那这里有。所以的确我知道有些男生用姨妈日历来求生。
你的电话,你的收货地址,你的地理位置,你的手机型号,你的朋友关系,你的相册,你的麦克风,你的文档,你的群信息,我统统拿不到。如果我申请要调用,微信小程序的审核人员会反问:你一个记录生理期的日历,要别人地址干嘛?要别人手机号干嘛?

好了,现在你告诉我,我作为一名手机操作系统之下的应用软件之下的微信之下的小程序开发人员,我能拿到你的什么隐私信息?我连你是谁都不知道,我能知道什么?

最后,你如果还有体力的话,可以和你讲一讲SDK。
一个App里,有时候需要一些常用功能。最常见的,就是新下载一个App要你注册的时候,下面一排的微信登录、微博登录、豆瓣登录、淘宝登录。也就是说,允许让你用其他App注册过的账号,直接登录新的App,免去了你注册的整个流程。
那么,你很容易想到,这是一项重复劳动。A公司开发一个App,让自己的开发人员一家家看别人的文档,一项项登录做好。B公司开发一个App,让自己的开发人员再来一遍。完全没有这个必要啊。这时候就有SDK的必要了,SDK是别人把这一整套登录的事情都给你做好了,做成一个插件,你直接拿来放在自己的App里用就好了,三下五除二,一堆登录入口就立即出现。

类似的,还有在线聊天SDK,有滤镜SDK,等等等等,意思是大家节省重新发明轮子的时间,提升开发效率。

我这里做的是小程序,连App都没有,要别人的SDK干什么呢?插哪里呢?无从插起啊。小程序开发所用的一砖一瓦,都来自微信,都必须服从微信的铁律,哪儿有什么空子可以钻?我倒是想做一个小程序,专门向用户提供前男/女友偷窥自己朋友圈的记录,问题是微信不可能给我这个信息啊。

YY,不知道我说清楚了没有?这件事情本身就让人头晕眼花:一个人在知乎看到315新闻然后跑到微信公众号问作者开发的小程序有没有用非法SDK。希望你已经理清楚:硬件---操作系统---App---微信---小程序之间的关系,也希望我说清楚了为什么小程序姨妈日历拿不到你的个人隐私信息。

且让我喝口水休息一下,祝你周末快乐!
往期回顾:
槽边往事和菜头 出品
【微信号】Bitsea
个人转载内容至朋友圈和群聊天,无需特别申请版权许可。
请你相信我:
我所说的每一句话,
都是错的
                    禅定时刻
下图中有多少个圆形?
1、的确存在圆形;
2、找到16个的不要高兴,那只是入门,请继续。
不要急着走,还有几件事:

1、南派三叔的《盗墓笔记》系列《重启之极海听雷》已经在爱奇艺上映,豆瓣评分8.5,你看了没有?
2、南派三叔在公众号里连载小说,你看了没有?入口:重启第三卷  东南亚探险  第十四章
3、我的商城还在营业,米线尝过没有:点这里直达
继续阅读
阅读原文