我总是喜欢在写东西之前唠唠嗑,按照惯例会在博文的开篇写这么一段“写在前面的话”,这次却为了这个唠嗑单独开了一篇文,大概预想着要胡说八道的话有点多。

前段时间突然对小程序来了兴趣,说句实话,我都忘记了准确的导火线,大概是一直想做点什么个人的小作品,结果又因为贫穷限制了我买服务器。索性这个世界上有种东西叫“第三方API”,我买不起,我用别人的还不行吗?这个问题解决了,还有个问题没解决,那就是我这个人既不会iOS也不会Android,总不能用第三方API写Web吧,那不是也得要个人服务器,又回到最初的起点。

于是用三方API结合微信小程序就很有意思了,适配移动端也容易,体积小,开发起来成本也远远更低,加上现在微信大大提高了小程序在其生态的入口和地位,说不定掌握它的开发也是未来升职加薪的助力。说干就干,索性就去慕课网买了开发教学视频《微信小程序入门与实战》,149,也还好,不算太贵。累计花了约30h,课程也大概上了近80%,顺便花了6h用gank.io的公开API撸了一个简单的刷刷妹纸图片的小程序(目前并没有上线,因为功能太简单了不想提交上线,后续再完善一部分再提交吧= =),接近过年,无心再码点什么了,索性准备来写写小程序开发的一些东西。


所以接下来的章节,会唠唠微信小程序的一些基本开发,有兴趣的客官可以继续该系列往下读,应该也不会写得太细枝末节,主要还是给自己的知识留下记录。如果想做小程序开发,希望学习效果更直接一些,建议就直接花钱买那个课程,链接在上面已经给出了,我也不是什么托儿,只是亲测教程质量OK,这个钱花得妥。

 


另外必须要吐槽的是,在学得七七八八准备自己写点东西练手的时候,找API来玩儿那可太纠结了,一开始想借用微博的API,在微信里刷微博,大概和在微信里用支付宝差不多奇怪的需求了,结果发现完全没办法,两个原因:
  • OAuth2的授权需要到授权页面,而微信小程序里是不支持直接的网页url跳转的
  • 微博的应用审核严格,同时开发API没办法获取到你和你关注者时间线上最新的微博内容

第一个问题勉强用极其曲折和麻烦的方式解决了,想着让用户关注我的公众号,然后发送一个关键字后我推送授权的链接,用户在微信里是可以用网页的,在公众号跳转的网页授权完成后,再复制回调页面的地址中的code授权码,输入小程序里使用。哇,这个体验,作为开发者我自己都觉得恶心,想着只是做着玩儿甚至可能只是我自己用的一个小程序,也就无所谓了,但是第二个确实就没办法了。

微博的三方授权都是要先建立应用的,应用的分类里你是实在找不出小程序应该归为哪类,移动端?网页开发?尝试着随便选一个,结果应用要审核公用的话,前者需要提交移动端应用的下载地址,这个肯定不行了;后者要填写网页使用的地址,小程序不支持网页啊,这我可咋弄,这就差不多可以gg了。之所以我说差不多,是因为想着实在不行我就自己用行了吧,因为开发者在应用审核前只能使用个人的授权,然后接下来上面提到的第二个原因直接拍死了后面的开发考虑。

看下微博给的API,好像完全没什么问题:
 
看下实际上的详细说明,以statuses/home_timeline这个最最核心重要的接口为例:
 
什么意思呢,意思是,你如果授权使用这个第三方开发应用,那么接口返回的微博只能返回你本人的,其他人的不会返回,感情是我调用这个接口只能返回我自己发出的微博,我关注者的微博统统不给我,我摔,我要这接口有何用???而且其他相关的接口说明全是这样,我要这接口有!何!用!那为什么微博还是尚存有第三方客户端?看到最后那行了吗,使用官方移动SDK,返回30%非授权用户的微博,也就是说,你如果用的微博客户端是第三方开发人员的,你实际上看到的微博大概只有真实微博数量的30%,这时候不禁要给出一个透露着MMP的微笑。所以想做微博第三方开发的小伙伴,你做移动端iOS或者Android还勉强能读到部分数据,其他的基本还是忘了它吧。可以说是对开发者很不友好了,没办法,依托别人的API就是这样,寄人篱下说不给你了就不给你了,惨。

于是我又想着折腾instgram的API,然而审核更严格,好像只提供了移动端应用的开发模式,要求审核提交应用app,我小程序我提交啥app,微信么,而且FQ也麻烦,直接gg。最后在知乎《想写个 App 练手,有什么有趣的 API 接口推荐吗?》找到了gank.io干货集中营的公开免费API,就练手做了个看妹纸图片的简单小程序。后来又细细看了下知乎答案,发现和风天气的API也是免费的,准备年后尝试撸一个天气相关的小程序;博客园的API也提交了申请,审核通过的话应该会再认真写一个博客园的小程序,番茄土豆的API也不错,好像只需要密钥就可以使用API。

想玩儿的东西还真不少:
  • 和风天气API
  • 博客园API
  • 番茄土豆API

上面大概就是这段时间来我的一些经历以及我很想吐槽的一些东西了,实际上在这个学习阶段还接触了一些不太熟悉的概念,接下来应该还会探究一下在写一些基本的知识概念的博文,比如:
  • Oauth2
  • token
  • curl
  • 接口设计
  • ...

年后还打算把家里空闲的电脑装成Linux开始学习,另外索性可以用花生壳做内网映射做成个人的服务器,然后就可以自己写后端的东西了,目前想结合爬虫做点什么,比如可以先尝试根据知乎上某个问题(主要是url分析和如何防止反爬)去爬知乎上各问题下的大美女图片( +v+ )然后还想尝试爬租房信息再结合小程序做一个方便搜索租房房源的东西,哇,想做的事情可太多了,年后还要开始从头学框架等等等等,哎,有趣有趣,然而时不待我,时不待我啊!!!

列个清单:
  • Linux
  • Java爬虫(Python虽好从头学那又得多少时间啊)
  • 爬美女图
  • 爬房源信息另做小程序

嗯,虽然不一定都会实际去完成上面的东西... hhhhh

嗯,感觉和2018年的年目标完全偏离了,emmm...

不小心bb了这么多... 诶,打住打住...

微信小程序开发 [00] 写在前面的话,疯狂唠唠的更多相关文章

  1. 微信小程序开发 [07] 写在后面的话

    写在后面的话基本算是吐槽了,在学完小程序的课程之后,我用博客园的api,写了个闪存的小程序,本来兴致勃勃甚至这篇是准备写"我的第一个小程序发布啦",然而并没有. 不是说我偷懒了没写 ...

  2. 微信小程序开发初体验--教你开发小程序

    微信小程序 微信小程序面世以来受到的关注颇多,直到最近我才动手尝试进行了小程序的开发,总体上感觉还是不错的,有一点不适应的就是要摆脱Web APP开发对DOM的操作.在这里我就把我是如何利用API开发 ...

  3. 微信小程序开发-蓝牙功能开发

    0. 前言 这两天刚好了解了一下微信小程序的蓝牙功能.主要用于配网功能.发现微信的小程序蓝牙API已经封装的很好了.编程起来很方便.什么蓝牙知识都不懂的情况下,不到两天就晚上数据的收发了,剩下的就是数 ...

  4. 微信小程序开发心得

    微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受. 首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司 ...

  5. 【微信小程序开发•系列文章六】生命周期和路由

    这篇文章理论的知识比较多一些,都是个人观点,描述有失妥当的地方希望读者指出. [微信小程序开发•系列文章一]入门 [微信小程序开发•系列文章二]视图层 [微信小程序开发•系列文章三]数据层 [微信小程 ...

  6. 微信小程序开发日记——高仿知乎日报(下)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...

  7. 微信小程序开发日记——高仿知乎日报(中)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该教 ...

  8. 微信小程序开发日记——高仿知乎日报(上)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...

  9. 微信小程序开发工具测评

    1月9日微信小程序正式上线.很多企业都希望能在这个.但是在技术开发的问题上,却不知道该如何下手.经过一些程序员不辞辛苦连夜测试,终于从十余款工具呕心沥血筛选出四款比较靠谱实用的微信小程序开发工具.接下 ...

随机推荐

  1. 利用 js-xlsx 实现 Excel 文件导入并解析Excel数据成json格式的数据并且获取其中某列数据

    演示效果参考如下:XML转JSON 另一个搭配SQL实现:http://sheetjs.com/sexql/index.html 详细介绍: 1.首先需要导入js <script src=&qu ...

  2. page、request、session和application有什么区别?

    转自:http://liuyuru.iteye.com/blog/773367 1.简单说 page指当前页面.在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的 ...

  3. H5音乐播放器【歌单列表】

    上篇详细描述了播放页歌词如何实现跟随跟单滚动,如何解析歌词,那么歌单页又是如何生成的呢,话不多说,直接上图上代码! 首先需要获取数据,具体获取数据api请转到我跟我大兄弟博客去观看学习去,同时也感谢我 ...

  4. Reactjs-generator-cli 一款基于Ink构建用于快速搭建React应用的CLI scaffolding工具

    Reactjs-generator-cli 一款基于Ink构建用于快速搭建React应用的CLI scaffolding工具 A simple CLI for scaffolding React.js ...

  5. Python+Selenium笔记(十八):持续集成jenkins

    (一)安装xmlrunner 使用Jenkins执行测试时,测试代码中会用到这个模块. pip install xmlrunner (二)安装jenkins (1)   下载jekins https: ...

  6. webpack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  7. Oracle EBS AP取消核销

    --取消核销 created by jenrry 20170425 DECLARE l_result BOOLEAN; l_msg_count NUMBER; l_result_n varchar2( ...

  8. ELF文件结构描述

    ELF目标文件格式最前部ELF文件头(ELF Header),它包含了描述了整个文件的基本属性,比如ELF文件版本.目标机器型号.程序入口地址等.其中ELF文件与段有关的重要结构就是段表(Sectio ...

  9. Unity[C#] Reflection Use

      Reflection Reflection是C#程序员的一个最有力工具 最常用的例子来说明反射的用处是一个插件系统.假设你正在创建一个 接受用户创建 的扩展程序,有没有办法预先知道哪些方法这个扩展 ...

  10. 中式台球 规则 ( ChinaBilliards )

    中式台球比赛规则 中式台球兴起于上世纪八十年代末,之前叫法有“中式8球”.“中式9球”.“十六彩”.“美式落袋”.“普尔“.”八球””等等.中国台球协会于2012年宣布统一该项运动称呼,定名为“中式台 ...