什么是微信小程序?

对我们开发者的影响?

一些基本要求
小程序大小要求: 基本安装包小于2M
性能上: WebApp< Hybrid< Native 性能上
关注问题:开放平台,生态,格局和眼光
现在的App哪些适合?

知乎不适合,频率、不支持消息推送,不像原生的一样,不支持webview,使得不能加载一些详情页,比如是静态好的html页面。
直播==不适合,停留时长太久,任务会被打断。
游戏== 开发不出来,html5 canvas小游戏。
一句话就能说明了业务需求,就是提交了一个表单。
可能的前景,现在的大应用==拆分功能,抢占流量入口(比如美团App的外卖入口,银行的账单查询入口)
第一步 (下载开发工具)
在这里请注意,下载下来这个程序和以前的“微信web开发者工具”是同名同目录的,也就是说,如果你正在使用以前的“微信web开发者工具”的话你就需要将该程序的安装目录修改成别的名字,以免覆盖
第二步(创建第一个程序)
打开刚才安装的开发工具,然后按照下图流程操作


填写项目名称及选择项目目录后点击添加项目即可

第三步(认识开发工具布局)

整个开发工具基本分为三块。
第一列:table-item 每个按钮代表一个页
第二列: webview 你的页面在这里实时展示
第三列:chrome调试工具,暂且这样叫吧,因为确实是使用了charome的调试工具, 在这里可以调试页面的样式,js,网络检测,输入输出等等。
第四步:项目结构
微信小程序创建之后会生成一个项目模板,如下图所示(基本如此,但并不局限于此)

现在分别来说明一下每个文件及目录的意思
app.js
App({ onLaunch: function () { //调用API从本地缓存中获取数据 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs) }, getUserInfo:function(cb){ var that = this if(this.globalData.userInfo){ typeof cb == "function" && cb(this.globalData.userInfo) }else{ //调用登录接口 wx.login({ success: function () { wx.getUserInfo({ success: function (res) { that.globalData.userInfo = res.userInfo typeof cb == "function" && cb(that.globalData.userInfo) } }) } }) } }, globalData:{ userInfo:null } })
程序的入口文件,必须存在。
app.js是小程序的脚本代码。我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量。调用框架提供的丰富的 API,如本例的同步存储及同步读取本地数据。
app.json
{ "pages":[ "pages/index/index", "pages/logs/logs" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "WeChat", "navigationBarTextStyle":"black" } }
app.json 是对整个小程序的全局配置。我们可以在这个文件中配置小程序是由哪些页面组成,配置小程序的窗口背景色,配置导航条样式,配置默认标题。注意该文件不可添加任何注释
app.wxss
/**app.wxss**/ .container { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 200rpx 0; box-sizing: border-box; }
app.wxss 是整个小程序的公共样式表。我们可以在页面组件的 class 属性上直接使用 app.wxss 中声明的样式规则。
Pages(开发者自行创建)目录是你的页面目录,但不是一定需要叫Pages
Utils (开发者自行创建)在本例中是工具类库目录,不是一定需要存在
在开发过程中最好遵循以上目录结构,特别Pages,没个页面独立一个文件夹,因为每个页面有自己独立的样式或者Js。未来方便管理。 但是,如果有公共样式的存在,请写在app.wxss