论文部分内容阅读
摘要:2017年1月微信小程序正式上線。和传统的原生App相比较,小程序能实现其基本功能,但又有所区别。为了让更多人了解两者之间的区别,在应用开发上做出更精致的选择,在本文中将以安卓原生App为例来对两者进行比较,从而分析两者间的区别。首先通过介绍两者的技术差异,进一步对比总结出两者在功能实现方式上的区别,再对其优劣、市场等方面做出分析,最终总结出两者未来的发展趋势,以供开发者更好地选择。
关键词:微信小程序;移动App;MINA框架;四大组件;蓝牙模块
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2019)35-0022-04
自微信小程序上线以来,有调查分析,截止到2017年年末,小程序的用户已经超过了2亿,它所涉及的行业领域也接近300 ,小程序的价值被越来越多的人所发掘。我们不禁会拿它和手机的原生App做对比,思考两者区别。小程序和原生App各有优劣,在未来,两者之间或许不仅没有矛盾,还能起到互补作用。
1 微信小程序的开发和主要技术
微信团队有为小程序设计师开发了专门的开发工具,在开发前,和注册公众号类似,首先要对小程序进行申请和认证,成功申请后登录小程序管理后台,点击下载安装开发工具,即可在此平台上进行开发设计。
小程序开发过程像手机版的前端网站开发过程,它参考了很多前端的技术和理念,例如,它用React和Vue分别实现了“视觉组件”和Vue实现了标签式逻辑与数据绑定,用CMD的require作为脚本文件的JavaScript。
小程序用JavaScript语言、XML、CSS语言编写程序代码,但所采用的又不是标准化的H5 CSS3 JavaScript架构,也和Web架构基于的W3C规范没有任何关系。小程序使用腾讯全新定义的技术规范和架构,即WXML WXSS JavaScript架构,是微信特有的。
小程序有视图层和逻辑层两大部分。视图层的作用主要是与小程序使用者的视觉进行交互,逻辑层则是对小程序的数据和逻辑处理,两者共同构建了一个完整的框架。
1.1视图层
视图层描述的编程语言是腾讯公司定义规范的WXML和WXSS语言,剔除了复杂的关系配置,并且从规定上要求每个页面需要有index.js、index.json、index.wxml、index.wxss这四个同名文件,每个文件功能不同:其中JS文件采用标准的JS语法规范,用于逻辑操作;Json文件顾名思义是用JSON语言书写的,是为了配置页面文件;wxml文件用XML语言书写,作用是描述页面视觉组件;而wxss则类似于前端的CSS语言,目的是定义给WXML组件样式。
例如,在wxml文件中创建一个图片视图组件:
在wxss文件中:
.user-avater{
width:200rpx;
height:200rpx;
margin-top:160rpx;
border-radius:50%;//设置图像为圆形
overflow:hidden;
}
通过在wxml文件中设置类对象名即可在wxss中利用该名对视图进行修饰。
1.2逻辑层和MINA框架
逻辑层是基于JavaScript语言框架的,该框架能其和视图层进行事件监听和数据传输,微信团队把这两个部分所组成的框架命名为MINA应用框架。开发者可以把网络通信、数据安全、任务管理和文件系统等写到逻辑层上,框架又对上层提供一整套JavaScript API(可搜索官网上的简易教程),这样就能轻松地使用微信官网提供的各种基础功能与能力,快速制作出一个应用。其示例代码如下:
在js文件中Page函数下:
Page({
data:{
motto:’Hello World’,
userInfo:{},
hasUserlnfo: false,
},
//事件处理函数
bindViewTap: function(){
wx.switchTab({
url:’../posts/posts’
})
},
onLoad: function(){
},
})
其中的data和bindViewTap分别起到数据绑定和事件设置的作用。
2 Android App开发和主要技术
2.1开发软件Android Studio
Android App是基于Java语言开发的,以前用的是Eclipse环境,现在主流用Android Studio开发。开发时要有有JavaJDK,Android SDK等辅助工具。Android App的开发采用的是将视图层与逻辑层分开编写的方式。逻辑层是基于纯JAVA语言,视图层在xml文件上,用到的自然是XML语言。下面是书写示例:
xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:laout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" android:id="@ id/mTabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android.background="@color/colorPrimary"
app:tabGravity="fill"
app:tabIndicatorColor="@color/colorAccent"
app:tabMode="fixed"
app:tabSelectedTextColor="@color/colorAccent"
app:tabTextColor="@android:color/white"
/
关键词:微信小程序;移动App;MINA框架;四大组件;蓝牙模块
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2019)35-0022-04
自微信小程序上线以来,有调查分析,截止到2017年年末,小程序的用户已经超过了2亿,它所涉及的行业领域也接近300 ,小程序的价值被越来越多的人所发掘。我们不禁会拿它和手机的原生App做对比,思考两者区别。小程序和原生App各有优劣,在未来,两者之间或许不仅没有矛盾,还能起到互补作用。
1 微信小程序的开发和主要技术
微信团队有为小程序设计师开发了专门的开发工具,在开发前,和注册公众号类似,首先要对小程序进行申请和认证,成功申请后登录小程序管理后台,点击下载安装开发工具,即可在此平台上进行开发设计。
小程序开发过程像手机版的前端网站开发过程,它参考了很多前端的技术和理念,例如,它用React和Vue分别实现了“视觉组件”和Vue实现了标签式逻辑与数据绑定,用CMD的require作为脚本文件的JavaScript。
小程序用JavaScript语言、XML、CSS语言编写程序代码,但所采用的又不是标准化的H5 CSS3 JavaScript架构,也和Web架构基于的W3C规范没有任何关系。小程序使用腾讯全新定义的技术规范和架构,即WXML WXSS JavaScript架构,是微信特有的。
小程序有视图层和逻辑层两大部分。视图层的作用主要是与小程序使用者的视觉进行交互,逻辑层则是对小程序的数据和逻辑处理,两者共同构建了一个完整的框架。
1.1视图层
视图层描述的编程语言是腾讯公司定义规范的WXML和WXSS语言,剔除了复杂的关系配置,并且从规定上要求每个页面需要有index.js、index.json、index.wxml、index.wxss这四个同名文件,每个文件功能不同:其中JS文件采用标准的JS语法规范,用于逻辑操作;Json文件顾名思义是用JSON语言书写的,是为了配置页面文件;wxml文件用XML语言书写,作用是描述页面视觉组件;而wxss则类似于前端的CSS语言,目的是定义给WXML组件样式。
例如,在wxml文件中创建一个图片视图组件:
在wxss文件中:
.user-avater{
width:200rpx;
height:200rpx;
margin-top:160rpx;
border-radius:50%;//设置图像为圆形
overflow:hidden;
}
通过在wxml文件中设置类对象名即可在wxss中利用该名对视图进行修饰。
1.2逻辑层和MINA框架
逻辑层是基于JavaScript语言框架的,该框架能其和视图层进行事件监听和数据传输,微信团队把这两个部分所组成的框架命名为MINA应用框架。开发者可以把网络通信、数据安全、任务管理和文件系统等写到逻辑层上,框架又对上层提供一整套JavaScript API(可搜索官网上的简易教程),这样就能轻松地使用微信官网提供的各种基础功能与能力,快速制作出一个应用。其示例代码如下:
在js文件中Page函数下:
Page({
data:{
motto:’Hello World’,
userInfo:{},
hasUserlnfo: false,
},
//事件处理函数
bindViewTap: function(){
wx.switchTab({
url:’../posts/posts’
})
},
onLoad: function(){
},
})
其中的data和bindViewTap分别起到数据绑定和事件设置的作用。
2 Android App开发和主要技术
2.1开发软件Android Studio
Android App是基于Java语言开发的,以前用的是Eclipse环境,现在主流用Android Studio开发。开发时要有有JavaJDK,Android SDK等辅助工具。Android App的开发采用的是将视图层与逻辑层分开编写的方式。逻辑层是基于纯JAVA语言,视图层在xml文件上,用到的自然是XML语言。下面是书写示例:
xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:laout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" android:id="@ id/mTabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android.background="@color/colorPrimary"
app:tabGravity="fill"
app:tabIndicatorColor="@color/colorAccent"
app:tabMode="fixed"
app:tabSelectedTextColor="@color/colorAccent"
app:tabTextColor="@android:color/white"
/