uni-app的心得体会

uni-app基础概念:

uni-app是什么?
uni-app是一款基于Vue.js的跨平台开发框架,它可以让我们用一份代码,同时开发出微信小程序、支付宝小程序、B站小程序、百度小程序、H5等多种应用。这使得开发者可以以更少的时间和精力开发出更多的应用,极大提高了开发效率。

uni-app的特点
(1)开发效率高

由于uni-app可以实现跨平台开发,因此我们只需要编写一份代码,在uni-app的支持下,即可打包多种应用。这使得开发者可以在极短的时间内开发出多个应用。同时,uni-app支持自动更新、热更新等功能,进一步提高了开发效率。

(2)易于上手

uni-app基于Vue.js并且语法基本上与Vue.js一致,因此我们只需要掌握Vue.js的基础语法,就能快速上手uni-app的开发。

(3)高性能

uni-app使用了原生组件渲染,因此性能要比其他的webview框架好很多。在相同的CPU和内存条件下,uni-app的应用也更加流畅。

二、uni-app的基础语法

uni-app的目录结构
特别注意的是,uni-app要求所有的页面必须放在pages文件夹下,与此同时,pages文件夹下的第一层文件夹就是uni-app转译时会自动解析成小程序对应页面形式的路径。如果是.vue文件,则会被解析成同名的小程序页面,如果是.js文件,则会被解析成导出的页面托管在同名要求的一级页面文件夹中。

uni-app的组件开发
uni-app的组件开发与Vue.js基本类似。如下面的示例代码:


<template>
  <view>
    <text>{{message}}</text>
  </view>
</template>

<script>
  export default {
    data () {
      return {
        message: 'Hello World!'
      }
    }
  }
</script>
上面的代码中,<template>标签用于定义页面的结构,<script>标签用于定义页面的逻辑,<view>、<text>则是小程序的组件,由uni-app进行转换。开发者可以与Vue.js一样,使用组件的prop和事件,来实现子组件向父组件的通信、父组件向子组件的通信等。

三、对uni-app的理解

uni-app介绍
uni-app是一款基于Vue.js框架开发的跨平台开发工具,其主要特点是一份代码可同时运行在多个平台上,目前支持了微信小程序、支付宝小程序、百度智能小程序、H5、APP(Android/iOS)等多个平台。uni-app还提供了丰富的API和插件,使得开发者可以很方便地进行开发。

uni-app的特点
(1)跨平台支持:只需要编写一份代码,即可同时输出到多个平台,省去不少开发成本。

(2)组件式开发:利用Vue.js的组件化开发思想,可快速搭建复杂的页面。

(3)API和插件丰富:uni-app提供了丰富的API和插件,方便开发者进行开发。

(4)易学易用:使用uni-app进行开发,只需要掌握HTML、CSS和JavaScript基础即可。

四、uni-app的学习过程

Vue.js的学习
由于uni-app是基于Vue.js的框架,所以在学习uni-app之前,我们需要先了解Vue.js框架开发的知识,特别是Vue.js基础和组件化开发的知识。在这个过程中,我主要参考了Vue.js官网和相关书籍和视频资料进行学习。

uni-app的学习
(1)uni-app的环境搭建

在学习uni-app之前,我们需要先搭建uni-app的开发环境。uni-app对于开发环境的要求比较低,只需要安装HbuilderX编辑器即可进行开发,在HbuilderX中安装uni-app插件即可。

(2)uni-app的开发

在学习uni-app开发过程中,我主要学习了uni-app的页面组件、路由、HTTP请求、数据存储、事件处理等知识点。

① 页面组件

在uni-app中,我们可以使用Vue.js的组件化开发思想进行组件的开发,组件的结构是由template、script和style三部分组成的,可以通过template引入页面中。

同时,我们在组件中可以使用Vue.js的数据绑定和事件绑定来实现动态渲染和响应用户操作,这样可以大大提高开发效率。

② 路由

在uni-app中,我们可以使用uni-app提供的uni.navigateTo、uni.redirectTo等API进行页面跳转,也可以通过路由参数传递数据、通过组件props传递数据等方式进行页面间的数据传递。

③ HTTP请求

uni-app提供了uni.request等网络请求API,可以使用其发送HTTP请求,常用的请求方式有GET、POST等方式,同时提供了请求头配置、参数配置、超时配置等常用配置。

④ 数据存储

在uni-app中,我们可以使用uni-app提供的uni.getStorageSync、uni.setStorageSync等API进行本地存储。这些API提供了简单易用的本地存储方案,支持多种格式的数据存储,方便我们进行数据的存储和管理。

⑤ 事件处理

在uni-app中,事件处理还是很重要的,我们可以使用Vue.js提供的@或:v-on指令来进行事件监听,以实现页面的交互功能。事件可以是用户的一些行为,如点击、滑动等,也可以是系统事件,如页面加载、路由变化等。


六、学习uni-app的过程中主要要掌握以下几个方面:

1.Vue.js基础
uni-app采用的是Vue.js作为开发语言,所以需要具备一定的Vue.js基础,特别是组件化开发思想。Vue.js是一种流行的渐进式JavaScript框架,单文件组件和数据绑定是Vue.js中最重要的两个部分。这对于uni-app的开发来说也尤为重要。为了更好地理解Vue.js和学习uni-app,我建议开发者们在学习之前先熟悉Vue.js基础知识。

2.uni-app路由和页面
在uni-app中,路由跳转使用的是uni.navigateTo和uni.redirectTo等API。uni.navigateTo可以实现页面跳转,并在导航栏中添加一个返回按钮。而uni.redirectTo是直接跳转到目标页面,无法回退。对于页面的跳转,在跳转过程中需要注意页面栈(堆栈)的问题,根据不同的需求进行处理。在这里,需要注意uni-app和微信小程序API的差异,uni-app不同平台可能存在上述API的兼容性问题。

3.数据绑定和事件绑定
Vue.js中的数据绑定是开发中最重要的部分之一。数据绑定是将变量绑定到View中,可以在JavaScript中使用其来更新View的显示内容。在uni-app中也是一样的,可以通过uni-app提供的Vue.js组件化的思想实现。开发可以在data中定义变量,在template中使用数据绑定语法来显示数据。在开发uni-app中,我们还需要绑定事件来响应用户的交互。通过v-on指令,我们可以将组件的事件绑定到执行的函数上,实现类似于addEventListener的函数绑定。

4.网络请求
在uni-app的开发中,网络请求在实际项目中也是必须要用到的。通过uni-app提供的uni.request等API实现网络请求。在使用过程中需要注意参数的传递和格式,比如header定义和请求参数的格式。在开发过程中,我认为更重要的是对uni-app中request和原生的请求库之间的比较和学习。在一些情况下可能需要用到原生的请求库。

5。组件和插件
Vue.js作为一个流行的框架,有着非常强大的组件库和插件,uni-app也借鉴并引入了一些最佳实践。这些组件和插件可以大大提高开发效率,降低开发难度,其中uni-ui资源库也是非常先进和好用的。在uni-app中使用组件和插件,可以采用上述三部分结构,template中需要引入对应的组件和插件,script中定义使用的变量和方法,style中定义UI样式。

6.最后,就是实践环节。在学习过程中,尽可能多地进行实践,从实践中积累经验,加深理解。可以尝试开发一个小项目,例如一款简单的新闻客户端,从项目的概念、架构、设计、开发、测试、发布等方面全面体验uni-app开发。

这里给出几个我认为比较好的uni-app学习网站:
1.uni-app官方网站官网:提供了很多详细的文档和示例代码,涵盖了uni-app的基础知识、组件开发、API使用等方面,对于初学者非常友好。官网链接: https://uniapp.dcloud.io/

2.CSDN博客:CSDN上有很多uni-app的开发者分享自己的经验和知识,可以通过搜索关键词查找相关的文章进行学习。博客链接: https://blog.csdn.net/

3.掘金社区:掘金也是一个比较好的技术社区,里面有很多与uni-app相关的文章和教程,可以搜索相关的关键词进行学习。社区链接: https://juejin.cn/

4.bilibili:在 bilibili 上也有许多与 uni-app 相关的视频教程,对于视频学习者来说是一个很好的选择。B站链接:https://www.bilibili.com/

5.Github:在Github上,我们能够找到很多uni-app的开源项目,里面包含了很多优秀的代码片段和实例,可以直接学习和借鉴。Github链接: https://github.com/
除了上述的几个网站,还有很多uni-app的学习资源可以探索。总之,多渠道地学习,多尝试,多实践,才能更好地掌握这个跨平台开发框架,提高开发效率。

如果想要在uni-app中开发自己的项目,可以参考以下步骤:
1.安装HBuilderXHBuilderX是一款基于VS Code的开发工具,支持uni-app、Vue.js、React等多个框架的开发。在HBuilderX的官网中可以下载到对应的安装包,安装完成后打开HBuilderX。

2.创建uni-app项目打开HBuilderX后,点击“文件”→“新建”→“项目”,选择“uni-app”模板类型,然后输入项目的名称和所在路径,再选择对应的“APP类”和“目标平台”,最后点击“创建即可”。这时,HBuilderX就会自动为我们创建一个uni-app项目。

3.项目结构uni-app的项目结构比较简单,如下:
├─components       // 组件目录
├─pages            // 页面目录
│  ├─index         // index页面
│  │  ├─index.vue  // index页面的vue文件
│  │  ├─main.js    // index页面的js文件
│  ├─mine          // mine页面
│  │  ├─index.vue  // mine页面的vue文件
│  │  ├─main.js    // mine页面的js文件
├─static           // 静态资源目录
│  ├─images        // 图片资源目录
├─App.vue          // 应用入口文件
├─main.js          // 主入口文件
├─manifest.json    // 应用配置文件

其中,components目录用于存放组件文件,pages目录用于存放页面文件,static目录用于存放静态资源文件,App.vue是应用入口文件,main.js是主入口文件,manifest.json是应用配置文件。

4.运行项目新建uni-app项目后,可以直接运行看看看页面效果。点击左边的运行按钮,选择运行的平台,然后就可以看到运行效果了。同时,在HBuilderX的下方还会有运行日志输出,方便调试。

5.打包项目开发完成后,可以将项目打包成为不同平台的应用安装包进行发布。在HBuilderX中,可以选择“菜单栏”→“发行”→“云端打包”,然后选择对应的平台进行打包,最后可以在云打包后台进行管理。

在uni-app中使用数据库可以实现数据的持久化,方便用户在APP中输入后的数据的长时间保存。uni-app中可以使用HTML5的本地存储技术:localStorage和sessionStorage;或是使用uni-app提供的API:uni.setStorage和uni.getStorage,都是实现数据持久化的好方法。

1.使用localStorage和sessionStorage

localStorage和sessionStorage是HTML5的本地存储技术,可以将数据以键值对的形式保存在本地浏览器上,直到清除缓存才会被删除。在uni-app中,可以使用以下代码实现数据的存储和获取:

// 存储数据
localStorage.setItem('key', 'value');

// 获取数据
var data = localStorage.getItem('key');

2.使用uni.setStorage和uni.getStorage

除了使用localStorage和sessionStorage外,uni-app还提供了一组数据持久化的API:uni.setStorage和uni.getStorage。这两个API与localStorage和sessionStorage类似,可以将数据以键值对的形式保存在本地浏览器上,直到删除才会被删除。相对于localStorage和sessionStorage,uni.setStorage和uni.getStorage在存储和获取数据时代码更加清晰:

// 存储数据
uni.setStorage({
  key: 'key',
  data: 'value',
  success: function () {
    console.log('数据保存成功');
  }
});

// 获取数据
uni.getStorage({
  key: 'key',
  success: function (res) {
    console.log(res.data);
  }
});

需要注意的是,uni.setStorage和uni.getStorage是异步函数,要注意在回调函数中获取数据。

3.使用云数据库

除了本地存储外,在uni-app中还可以使用云数据库实现数据持久化。uni-app提供了云数据库服务UniCloud,可以在UniCloud中创建数据库和集合,并在uni-app中使用UniCloud提供的API对数据库进行操作。例如:

const db = uniCloud.database();
const collection = db.collection('users');

// 插入数据
collection.add({
  name: '张三',
  age: 18,
  gender: '男'
}).then(res => {
  console.log('数据插入成功');
}).catch(err => {
  console.error('数据插入失败', err);
});

// 查询数据
collection.where({
  name: '张三'
}).get().then(res => {
  console.log(res.data);
}).catch(err => {
  console.error('数据查询失败', err);
});

需要注意的是,使用云数据库需要先在UniCloud中创建数据库和集合,并在uni-app中绑定对应的云开发环境。

以上就是在uni-app中使用数据库的基本方法,可以根据不同需求选择不同的数据持久化方式。

以上就是在uni-app中搭建项目的基本步骤。通过实际操作,可以更加清晰地理解这些步骤。需要注意的是,uni-app中的组件名称不能大写开头,否则将无法正确解析。 来,随着移动端应用的不断发展,社会对于跨平台开发框架的需求越来越大。作为跨平台开发框架的代表之一,uni-app在业界已经得到了广泛的使用和推广。 在实际开发过程中,我也遇到了一些坑点。比如说,在uni-app中,由于支持多端打包,需要注意始终使用uni-app提供的API,避免使用类似于window对象或其它平台特有的API。此外,在uni-app的构建过程中,也需要注意文件的路径设置,以免程序的运行过程中出现资源缺失的问题。 总之,学习uni-app需要一定的业务实践和技术积累。建议在实际开发项目中深入运用,通过不断的思考,逐渐掌握uni-app的技能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值