无需内测账号,带你体验微信小程序完整开发

  文章来源:www.zretc.com/technologyDetail/200.html

  前一阵子的微信小程序火爆了网络与朋友圈,迅速成为讨论焦点,大家可能觉得只有收到内测邀请才能体验小程序的开发流程,其实不然,每个人都可以体验,下面就请跟着小卓一起去了解下吧。

  一、下载微信Web开发工具

  首先,微信给我们提供了它自己的小程序集成开发工具,只需要到这个页面下载即可:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html?t=1474644089359

  下载完成后,打开开发者工具,会有一个扫码登录界面。用你的微信扫码就可以登录进来了,然后开发者工具会帮我们创建一个默认工程,项目的文件结构如下:

  所有的代码编辑以及运行预览都可以在这个开发者工具中进行。接下来咱们看看微信小程序的项目结构。

  二、项目结构

  如上图,首先在根目录中有三个文件 app.js, app.json, app.wxss。 其中 app.js 是程序主入口的脚本文件, app.json 是全局配置文件, app.wxss 是小程序的样式表文件。

  先来看看 app.json :

  

  这个配置文件中定义了两个节点, pages 是小程序的所有页面对应的路径, window 是小程序窗口的配置信息。

  再来看看样式文件 app.wxss :

  

  咱们先不用深究它具体定义了什么样式,只需要先了解项目结构即可。接下来再来看看程序的主入口 app.js:

  这里初始化了一个 App 对象,并且定义了三个方法 onLaunch,getUserInfo 和 globalData。先来看看 onLaunch:

  首先 wx.getStorageSync 方法会获得本地的一个以 logs 为 key 的缓存数据。 传入这个方法的 logs 本身没有任何特殊含义,只是用于表示我们使用的缓存数据。这个机制可以理解为和 iOS 的 NSUserDefaults 类似。

  然后,我们想这个缓存数组中插入当前的日期 logs.unshift(Date.now())。最后再调用 setStorageSync 方法将我们新的缓存内容写入到本地缓存中。

  因为 onLaunch 方法是小程序的生命周期方法,所以在小程序启动的时候就会调用它,并将当前启动的日期记录并写入本地缓存中。 没错 onLaunch 整个方法就干了这件事儿。

  我们再来看下 getUserInfo 方法,它通过调用 wx.login 和 wx.getUserInfo 两个微信平台的函数获取当前用户登录信息,并传会给回调函数 cb:

  至于最开始的 if 判断 if(this.globalData.userInfo) 咱们暂时不用深究,只看 else 部分即可。

  三、页面结构

  了解完根目录的几个文件,咱们再来看看页面文件, 正如咱们刚开始截图中看到的项目结构:

  所有的页面都在 pages 文件夹中。 我们这个示例工程中有两个页面 index 和 logs。 还记得我们前面在 app.json 看到的页面配置吗:

  正好对应上咱们现在看到的两个目录,还要记得一点, pages 数组中的第一个元素会作为我们小程序的主页。 切记,index 页面之所以是首页,是因为它是 pages 里面的第一个元素, 而不是因为它的名称是 index。

  我们来看看 index 页面的构成, index.js, index.wxml, index.wxss。 index.js 是页面的脚本文件, index.wxml 是页面的 UI 文件, index.wxss 是页面的样式文件。

  先看一下 index.js:

  getApp() 方法获取我们的 app 实例。 然后在看 方法, 使用我们刚才提到的 getUserInfo 方法获取用户信息,并设置到 data 属性中。

  bindViewTap 方法会绑定一个事件,这个事件调用 wx.navigateTo 方法。 这个方法其实就是页面跳转,从代码中也不难看出,跳转到了 logs 页面。

  脚本文件就这些内容了,咱们继续再来看看 UI 文件, index.wxml:

  这个就是小程序 index 页面的 UI 文件了,其实就是微信平台定义了一系列组件,最外层是 还记得 container 么? 我们在最外层的 app.wxss 定义了它的样式。 它里面包含了两个 View。

  先来看看第一个:

  首先 bindtap="bindViewTap" 给这个 View 绑定了一个点击事件,也就是我们前面 index.js 对应的这个方法,用户点击这个 View 就会跳转到 logs 页面上。 然后这个 View 里面包含了一个 Image 和 Text, Image 的 src 属性设置为userInfo.avatarUrl, 代表当前用户的头像, Text 中使用 userInfo.nickName, 代表当前用户的昵称。

  这样, index 页面的整体逻辑就都完成了, 还有一个 index.wxss 样式文件,这个咱们就先略过。

  再来看看第二个视图:

  motto 其实就是我们在 index.js 中定义的一个属性:

  它会在页面上显示一个 Hello World。

  现在,我们切换到调试界面,就可以看到小程序的主页了,和我们刚刚描述的 UI 完全一样吧:

  这里的用户头像和昵称是动态从你的登录状态中取到的。

  然后我们在这里点击用户的头像,就会跳转到 logs 页面, 列出你每次登录小程序的时间点。

  四、上传小程序

  现在微信小程序的基本开发流程就给大家介绍完了,还有一个 logs 页面没介绍,但它和 index 的页面的基本思路都是一样的,咱们就不多赘述了。 开发完小程序后,我们需要把它部署到哪里呢? 相信大家也有同样的问题。 答案也很简单,切换到项目选项卡,然后点击上传按钮即可:

  由于笔者的环境没有内测账号,所以在上传区域显示的是项目未关联 AppID, 如果有了测试账号,就会显示你的 AppID 了。 目前只有内测账号才能够上传小程序。这就是唯一的差别了。没有内测账号只是不能上传,但完全可以在本地开发和测试。

  小程序的这种上传方式可能会让大家觉得有些不同吧。大家平常理解的 Web app 一般都需要自己搭建服务端,并且维护。 而小程序的这种托管方式,其实已经和我们开发一个原生 App 差不多了。 虽然前端上使用的是 js 这些看起来像是 web 的技术,但它核心思路跟传统的 web app 已经不太一样。 更像一种类似 React Native 的实现。

  五、结尾

  这次和大家一起,从头到尾完整的体验了一个最简单的小程序的整体结构以及开发思路。如果能找到合适的切入点,小程序这个平台还是能找到一些不错的机会的。但不要认为小程序的出现就会马上颠覆谁,也不需要听到网上有人说小程序难成大事就觉得它没机会。找到自己擅长的,以及用户需要的,没准就会创造出一些不错的产品。这次也是帮大家做一个基本的技术梳理,希望能够对大家有所帮助。

时间: 2024-10-26 06:38:30

无需内测账号,带你体验微信小程序完整开发的相关文章

【小程序源码案例】微信小程序项目开发案例分享

作者:web小二本文标签: 微信小程序 小程序源码案例 小程序项目小程序的开发,并不是适合所有公司,我今天跟大家分享小程序方面的教程,主要是供大家学习使用.学习这种东西,有时候则是单纯的喜欢,没有任何目的,很单纯的为了好玩,记得很早之前学flash,没有想法,就是觉得好玩,纯娱乐爱好而已.到后来玩视频剪辑也是出于同样的原因,不图钱财名利,只是图自己个人爱好娱乐. 但是,学习,有时候则是需要有明确目的,特别是关系到自己吃饭问题的时候,你就需要非常有目的去学习,并且还需要制定好学习的计划与目标,希望

微信小程序最新开发资源汇总,对学习微信小程序的新手有一定帮助

微信小程序最新开发资源汇总,希望给想学习或正在学习微信小程序开发的同学们带来一定帮助,汇总的小程序资源有点繁杂,各种类型的小程序demo都有,大家可以选择自己想要的demo进行下载学习.这些微信小程序资源大多是整理自github,如果可以,希望大家能够给github上的原作者一颗star,感谢原作者的无私奉献. 这里整理的是资源的原帖子,下载链接也在帖子里,当然本人也只体验了部分demo,有兴趣的同学可以都下载试试. 下载地址: 仿微信聊天,朋友圈小程序源码wepy框架开发的小程序商城源码,功能

【微信小程序云开发】从陌生到熟悉

前言 微信小程序在9月10号正式上线了云开发的功能,弱化后端和运维概念,以前开发一个小程序需要申请一个小程序,准备一个https的域名,开发需要一个前端一个服务端,有了云开发只有申请一个小程序,一个前端就能搞定,真的是零成本. 云开发三大基础能力 云函数:运行在微信服务器上的函数,处理微信相关操作有天然优势,如获得用户信息异常方便(以前服务端解析很麻烦) 数据库:一个小程序可以直接操作的JSON数据库,可以直接操作数据库,不在需要服务端了. 存储:用来存储文件和图片 阅读本文之前最好对微信小程序

微信小程序云开发-从0打造云音乐全栈小程序

第1章 首门小程序“云开发”课程,你值得学习本章主要介绍什么是小程序云开发以及学习云开发的重要性,并介绍项目的整体架构,真机演示项目功能,详细介绍整体课程安排.课程适用人群以及需要掌握的前置知识.通过本章的学习,能够使大家对本门课程有一个整体的了解.... 第2章 云开发介绍以及从0构建项目本章会详细介绍小程序云开发与Serverless,并介绍如何开通小程序云开发及控制台的功能,并且初始化项目代码,讲解airbnb/javascript代码规范. 第3章 播放列表功能实现本章完成歌单列表与歌曲

微信小程序的开发有什么用?有什么优势?

现如今,科技发展迅速个我们带来的便利性还是很大的.而微信小程序正是依赖科技进行发展的软件.那么微信小程序的开发究竟有什么用呢?又有哪些优势呢?小程序的定义是为商家做服务的,小程序的每个功能都在为商家获客做服务,从2017年至今,不过两年时间,小程序完成了上百次的更新升级,如今,小程序的需求越来越贴近用户.可以毫不夸张的说,小程序是当下互联网最大的流量聚集地.那么小程序究竟有哪些优势呢?1.无需安装,即开即用现如今,智能手机普及,不仅可以随时随地上网,还可以使用各种便利的软件.而微信作为当下流行的

微信公众号开发三级分销微商城,微信小程序定制开发

10年的技术开发团队,提供网站建设,APP开发,网站推广等服务,专业微信小程序定制开发,需要这方面的朋友,可以咨询一下. 案例演示: 成功案例: 联系方式:8582-36016 ,微信号:luenmicro ,电话:131-1221-5717

Mac上微信小程序官方开发工具卡死的问题

Mac上微信小程序官方开发工具打开后卡死,无法操作,也关不掉,解决方案: 三步: 1.在应用中删除"微信web开发者工具" 2.删除一下几个配置和缓存文件: 1.-/Library/Application Support/微信web开发者工具 2.~/Library/Preferences/com.tencent.wechat.devtools.plist 3.~/Library/Caches/微信web开发者工具 3.重新安装"微信web开发者工具"

微信小程序云开发

使用微信小程序云开发,可以不需要后端的参与,前端直接使用数据库. 第一步,新建一个空的云开发项目 在project.config.json 文件可以看见 "miniprogramRoot": "miniprogram/",   表示为小程序页面的文件 "cloudfunctionRoot": "cloudfunctions/", 表示云函数文件,即 在云端定义一些函数,运行环境为 nodejs, 可以做一些运算操作,然后将结果

带你入门微信小程序

认识微信小程序 2016年1月9日,TX启动小程序研发,于2017年1月9日正式发布.不同于微信订阅号或公众号,微信小程序被赋予了应用程序的能力,他是一种无需安装即可使用的应用,它实现了应用“触手可及”的梦想,用户“扫一扫”或者“搜一搜”即可打开应用:体现了“用完就走”的理念,用户不再需要关心是否安装太多应用问题.应用将无处不在,随时随地可用,无需卸载. 微信小程序相关技术 微信小程序自定义了一套语言,称为WXML微信标记语言,它的使用方法类似于HTML语言.另外,微信小程序还定义了自己的样式语