作者主页:Designer 小郑
作者简介:浙江某公司软件工程师,负责开发管理公司OA、CRM业务系统,全栈领域优质创作者,CSDN学院、蓝桥云课认证讲师,开发过20余个前后端分离实战项目,主要发展方向为Vue、SpringBoot、微信小程序,期待你我共同成长!
主打方向:Vue、SpringBoot、微信小程序
毫无疑问,作为一个新型网络应用程序,小程序有自己的特点。
小程序刚推出的时候,具有各种功能的小程序向用户开放,包括旅游、交通、购物和生活工具。
这些小程序大多具有面向用户的服务类,特别是线下的生活服务类的功能共同的特点。
作为微信小程序的开发者,在开发前要充分理解小程序的特征,并利用其特征。
在适当的情况下设计和开发程序,需要根据不同的环境和场景进行适应性和正确的开发工作。
对于用户来说,微信小程序的最大特点是不需要下载和安装,也不用担心安装很多应用程序,可以直接使用。
微信小程序可以快速获取当前登录的微信用户信息,如下的代码就可以获取到微信用户的临时标识(Token),从而进一步获取用户唯一标识。
wx.login({
success: res => {
console.log(res.code)
// 发送 res.code 到后台换取 openId, sessionKey, unionId
},
})
微信小程序和微信是紧密联系在一起的。
小程序可以直接通过微信进行管理和登录,与开发者已有的App后台数据进行交互,利用已有的数据接口。
这样的特点降低了开发过程的复杂度,通过非常简单的方式移植开发人员现有数据库的实现,并在小程序上使用。
比如,某中小公司本来就有一套属于自己的 OA 系统,现在要开发一套小程序方便员工使用,这样直接就可以调用 OA 原有的后台 API 接口,而无需重新开发。
但微信小程序不能直接跳转到原生 APP 上,而 APP 之间可以直接跳转,这个需要开发者去留意。
当下中小企业为了获取用户和在线流量需要越来越高的成本,微信小程序可以带来巨大的网络流量。
比如获取微信用户的头像,微信小程序可一键获取,相关代码如下所示。
wx.getUserProfile({
desc: '展示用户信息',
success: (res) => {
console.log(res)
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
}
})
作为开发者,我们不应该只看到微信平台的传播优势和流量基础,我们应该把重点放在开发和打磨更好的产品上。
只有更好的产品才能吸引更多的用户,由于小程序的进入门槛较低,可以说明开发者的竞争程度会很高,所以我们需要在其他同类或相近的产品中突出我们的小程序,占据更多的用户。
微信小程序开发的入门门槛低,有一定网页开发经验的开发者基本都可以快速入门。
开发微信小程序,就有点类似于开发 HTML 的前端应用,能让有前端基础的程序员快速开发,但小程序自身并不支持直接的 HTML+CSS。
在此之前,百度也曾经推出过百度轻应用,采用 HTML 的技术,目的是实现一键打开应用的快捷操作。
因为 HTML 加载需要不少的时间,终端用户在使用中出现了加载缓慢、进入白屏等问题,同时每次返回后之前的页面就需要被重新加载,大大降低了用户的使用体验,所以微信小程序没有采用原生 HTML 的技术。
小程序的开发有所不同,它不再是一个 HTML5的页面,他是专有的 wxml 文件,模板代码如下所示。
<view class="container log-list">
<block wx:for="{{logs}}" wx:key="timeStamp" wx:for-item="log">
<text class="log-item">{{index + 1}}. {{log.date}}</text>
</block>
</view>
小程序中的 view
标签可以对标 HTML 的 div
标签。
同时,微信小程序自身提供了大量的API,如果能够熟练使用这些 API,将会对开发工作有巨大的帮助,进一步简化小程序的开发过程。
微信小程序是跨平台的开发模式,和最近的 UNIAPP
一样,开发者无需考虑用户的手机型号,也不需要为了 Android 和 IOS 系统开发不同平台的 APP。
在这一点,微信小程序开发大大降低了难度和成本,我们在开发原生 App 时需要考虑的问题将不复存在。
同时,微信小程序也不需要在两个不同的平台上分别进行开发,这就意味着无须两套完全不同的开发方式。
微信小程序的低开发难度与开发原生 App 并不矛盾,小程序并不会彻底取代系统原生 APP。
对于作为开发者的我们,可以尝试在获取一定的市场资源和用户数据后,再进行更完善的系统原生 APP 的开发。
微信小程序基于一个独立软件生态,其核心就是微信应用,微信小程序具有以下特点。
在这样的一个微信生态环境中,微信小程序就可以实现一个细小的业务线,比如在展会场景下的经销商登记,比如中小公司的访客管理等。
就算是一个很小的需求,一个再简单的业务,作为小程序开发者,我们也可以以小程序的形式实现,小程序的发展前景也十分可观。
这样一个小程序一旦完善起来,相当于在微信生态中实现了一个新的应用。
在这个应用需要完成什么目标,实现怎么样的需求,就靠我们去开发实现了。
小程序有着独立的管理后台,开发者可以在后台中查询小程序的相关数据,也可以对小程序进行配置,如下图所示。
因为微信小程序是基于微信体系开发,所以小程序的审核发布需要微信平台审核,这样可以防止不合法的小程序对外服务。
由于微信平台的关联和限制,小程序完全处于微信生态的控制之下,开发者需要按照微信提供的规范进行开发,不符合要求的小程序是不能发布的。
终端用户在使用小程序时,只能被获取用户的昵称、头像等非关键数据,只给到开发者一个唯一标识。
对于手机号需要用户弹窗授权,这样可以保护终端用户的个人隐私。
同时,微信小程序只能跳转到可信的网络域名,非可信的网络域名不可跳转,防止不安全的网站对用户造成干扰,这点和原生 APP 有着较大的不同。
而可信的网络域名需要在微信小程序的后台进行配置,且需要通过 ICP 备案,并需要文件访问验证,最后还会公示给用户,保障了用户的知情权。
对于开发者来说,每个小程序有着自己的唯一标识,也就是 APPID,可以防止小程序伪造,进一步保证了微信小程序的安全性。
微信小程序作为一种轻量级的应用服务形式,在线下的使用场景中能发挥大的作用。
通过微信扫码或者小程序搜索的方式,就可以进入到相应的小程序,方便了人们的生活。
对于中小公司来说,小程序即便无法作为开发者理想中的最直接的开发形式,但可以以小程序为“试点”,开发具有某一方面功能的小程序,利用微信平台的巨大流量进行推广,在获取到一定的使用数据后,再开发具有完善功能性的App,有效地防止自己的软件开发出来成为冷门应用的情况。
另外,前期在小程序平台上的开发,也能作为独立开发App的宝贵经验,在取得有效的宣传效果的同时,也可以获取一定的利润,为后期开发提供更好的帮助。
比如对于小型的早餐店,管理员可以开发早餐店的小程序,实现用户的远程预约、扫码下单的功能,用户就可以在家挑选早餐,到店自取,方便了用户,不用再排队,只需拿出手机打开微信即可。
对于大型公司来说,虽然吸引到自家App以实现用户分流可能性较低,但大型公司有着一定的知名度,他们在客户流量方面无须担心,这时需要的就是在微信小程序平台上进行最快速的获利,用小程序带来的流量直接实现变现,将核心业务最直接地提供给用户,以换取相应的利润,比如外卖平台的下单功能,酒店平台的预定功能等。
微信正在不断更新迭代小程序,尝试开放更多的功能,小程序的功能和定位不断更迭,未来小程序可能无法完全取代App,但其潜力也绝不能低估。