我对uni-App的理解

一.Uni-app 的历史

Uni-app 的历史可以追溯到 DCloud 公司。以下是 Uni-app 的主要历史里程碑:

1. 2015年:

DCloud 公司推出了基于 Vue.js 的开发框架,名为 DCloud。

2. 2016年:

DCloud 公司发布了 HBuilderX,这是一个基于 VS Code 的 IDE,专门用于开发移动应用程序。HBuilderX 集成了 DCloud 框架,为开发者提供了便捷的开发环境。

3. 2017年:

DCloud 公司发布了 Weex,这是一个跨平台的移动应用开发框架,类似于 React Native。Weex 使用 Vue.js 作为开发语言,并支持同时开发 iOS 和 Android 应用。

4. 2018年:

DCloud 公司推出了 Uni-app,这是一个基于 Vue.js 的跨平台开发框架。Uni-app 继承了 Weex 的优点,并在多端兼容性、性能优化等方面进行了改进,使开发者可以更便捷地开发出高质量的跨平台应用。

5. 2019年:

Uni-app 发布了 2.0 版本,增加了更多的功能和特性,进一步提升了开发效率和用户体验。

6. 2020年:

Uni-app 发布了 3.0 版本,引入了更多的新特性和改进,包括更好的 TypeScript 支持、更多的原生能力封装等。

7. 2021年至今:

Uni-app 持续进行版本迭代,不断优化性能、增加功能,并且扩大了在跨平台开发领域的影响力。

总结:通过不断的版本迭代和改进,Uni-app 已经成为了一个成熟稳定的跨平台开发框架,受到了越来越多开发者的青睐和使用。

二.Uni-app 的介绍

Uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架。它可以让开发者使用 Vue.js 的语法来构建小程序、H5、App 等多个平台的应用,实现一次开发,多端部署的目标。

以下是 Uni-app 的一些主要特点和优势:

1. 跨平台开发:

Uni-app 支持一次编写代码,多端发布,可以将代码同时编译成微信小程序、支付宝小程序、H5、App 等多个平台的应用。

2. 基于 Vue.js:

Uni-app 基于 Vue.js 开发,开发者可以使用熟悉的 Vue.js 语法和生态系统进行开发,降低学习成本。

3. 组件化开发:

Uni-app 支持组件化开发,提供了丰富的组件库,开发者可以快速构建复杂的界面和功能。

4. 优秀的性能:

Uni-app 对性能进行了优化,能够在多个平台上保持良好的性能表现。

5. 多端适配:

Uni-app 提供了一套完善的多端适配方案,开发者可以根据不同平台的特点进行定制化开发,并且支持灵活的样式和布局适配。

6. 丰富的插件生态:

Uni-app 生态系统丰富,支持丰富的插件和扩展,可以满足各种不同应用场景的需求。

总的来说,Uni-app 是一个强大的跨平台应用开发框架,为开发者提供了高效、便捷的开发体验,能够帮助开发者快速构建高质量的多平台应用。

三.Uni-app 的常用代码

1.页面结构:
<template>
  <view class="container">
    <text>Hello, Uni-app!</text>
  </view>
</template>

<style>
.container {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
</style>
2.组件引用:
<template>
  <view>
    <custom-component :propName="value"></custom-component>
  </view>
</template>

<script>
import CustomComponent from '@/components/CustomComponent.vue'; // 引入自定义组件

export default {
  components: {
    CustomComponent // 注册自定义组件
  },
  data() {
    return {
      value: 'some value'
    };
  }
}
</script>
3.条件渲染:
<template>
  <view>
    <text v-if="condition">Show when condition is true</text>
    <text v-else>Show when condition is false</text>
  </view>
</template>

<script>
export default {
  data() {
    return {
      condition: true
    };
  }
}
</script>
4.列表渲染:
<template>
  <view>
    <text v-for="(item, index) in itemList" :key="index">{{ item }}</text>
  </view>
</template>

<script>
export default {
  data() {
    return {
      itemList: ['Item 1', 'Item 2', 'Item 3']
    };
  }
}
</script>
5.事件处理:
<template>
  <view>
    <button @click="handleClick">Click me</button>
  </view>
</template>

<script>
export default {
  methods: {
    handleClick() {
      console.log('Button clicked');
    }
  }
}
</script>
6.路由导航:
<template>
  <view>
    <button @click="navigateToPage">Go to another page</button>
  </view>
</template>

<script>
export default {
  methods: {
    navigateToPage() {
      uni.navigateTo({
        url: '/pages/otherPage.vue'
      });
    }
  }
}
</script>

总结:

这些是 Uni-app 中常见的代码示例,涵盖了页面结构、组件引用、条件渲染、列表渲染、事件处理和路由导航等方面。通过这些代码示例,你可以快速了解 Uni-app 的基本语法和用法。

 四.Uni-app的创建与使用:

1.项目工具:

1.Hbuilderx  2.微信开发者工具  3.安卓模拟器

2.项目创建:

3.项目运行 :

五.Uni-app的常见应用:

Uni-app 是一个基于 Vue.js 的跨平台应用开发框架,它能够同时生成运行在多个平台(包括 iOS、Android、Web、微信小程序、支付宝小程序等)的应用。由于其跨平台特性,Uni-app 在移动应用开发中有着广泛的应用场景,常见的应用包括:

1. 移动应用开发:

Uni-app 可用于开发各种类型的移动应用,包括社交应用、电商应用、新闻资讯应用等。开发者可以通过一套代码实现多个平台的应用发布,大大提高开发效率。

2. 小程序开发:

Uni-app 支持生成微信小程序、支付宝小程序等平台的应用。开发者可以使用 Uni-app 来开发小程序应用,享受 Vue.js 的开发乐趣,并且实现一套代码多端运行。

3. H5应用开发:

Uni-app 可以生成符合 H5 标准的 Web 应用,用于在浏览器中访问。这使得开发者可以在不同的平台上提供相同的应用体验。

4. 混合应用开发:

Uni-app 还支持生成原生应用,可以打包成 Android APK 或者 iOS IPA 文件,实现与原生应用相同的功能和性能。

5. 组件库和插件开发:

Uni-app 提供了丰富的组件库和插件生态,开发者可以基于 Uni-app 开发自己的组件库和插件,为其他开发者提供更多的开发工具和资源。

总的来说,Uni-app 在移动应用开发中有着广泛的应用,特别适合那些需要快速开发、跨平台运行的应用场景。

六. Uni-app的常用语法介绍:

Uni-app 的常用语法主要是基于 Vue.js 的语法,并在此基础上做了一些扩展和调整以适应跨平台开发的需求。以下是 Uni-app 中常用的语法介绍:

1. Vue.js 基础语法:


   - 模板语法:使用双大括号 `{{}}` 进行数据绑定,例如 `{{ message }}`。


   - 指令:例如 `v-if`、`v-for`、`v-bind`、`v-on` 等,用于控制元素的显示、循环、属性绑定、事件绑定等。


   - 组件:使用 `Vue.component` 或者单文件组件 `.vue` 来定义和使用组件。


   - 生命周期钩子:例如 `created`、`mounted`、`updated`、`destroyed` 等,用于在组件生命周期中执行特定的操作。

2. Uni-app 特有语法:


   - 跨平台特性:Uni-app 支持编写一套代码,同时生成多个平台(包括微信小程序、支付宝小程序、H5、App 等)的应用。可以通过条件编译等方式针对不同平台做特定的处理。


   - 页面路由:Uni-app 使用 Vue Router 进行页面路由管理,可以通过 `uni.navigateTo`、`uni.redirectTo`、`uni.reLaunch` 等方法进行页面跳转。


   - 生命周期钩子:Uni-app 在 Vue 的基础上新增了一些生命周期钩子,例如 `onLoad`、`onReady`、`onShow`、`onHide` 等,用于处理页面生命周期事件。


   - 跨平台 API:Uni-app 提供了一套跨平台的 API,可以调用原生的功能和接口,例如调用相机、定位、支付等功能。

3. 跨平台调试:


   - Uni-app 提供了 HBuilderX IDE 作为主要的开发工具,开发者可以在其中进行跨平台应用的开发、调试和发布。

4. 项目配置:


   - `manifest.json`:项目配置文件,可以配置应用的名称、图标、启动页面等信息。 

以下是一个常见的 `manifest.json` 文件的配置示例,其中包含了一些常用的配置项:

```json
{
  "name": "MyApp", // 应用名称
  "description": "My awesome app", // 应用描述
  "versionName": "1.0.0", // 应用版本名称
  "versionCode": "1", // 应用版本号
  "app": {
    "themeColor": "#007AFF", // 应用主题颜色
    "backgroundColor": "#FFFFFF", // 应用背景颜色
    "navigationBarTitleText": "Uni-app Demo", // 导航栏标题文字
    "navigationBarBackgroundColor": "#FFFFFF", // 导航栏背景颜色
    "navigationStyle": "custom", // 导航栏样式,可选值为 default/custom
    "pages": [ // 应用的页面列表
      {
        "path": "pages/index/index", // 页面路径
        "style": { // 页面样式
          "navigationBarTitleText": "Home" // 页面导航栏标题文字
        }
      },
      {
        "path": "pages/about/about", // 页面路径
        "style": { // 页面样式
          "navigationBarTitleText": "About" // 页面导航栏标题文字
        }
      }
    ]
  },
  "tabBar": { // 应用底部导航栏配置
    "color": "#666666", // 导航栏默认文字颜色
    "selectedColor": "#007AFF", // 导航栏选中文字颜色
    "backgroundColor": "#FFFFFF", // 导航栏背景颜色
    "borderStyle": "black", // 导航栏边框颜色,可选值为 black/white
    "list": [ // 导航栏菜单列表
      {
        "pagePath": "pages/index/index", // 页面路径
        "text": "首页", // 菜单文字
        "iconPath": "static/tabbar/home.png", // 未选中状态图标路径
        "selectedIconPath": "static/tabbar/home_selected.png" // 选中状态图标路径
      },
      {
        "pagePath": "pages/about/about", // 页面路径
        "text": "关于", // 菜单文字
        "iconPath": "static/tabbar/about.png", // 未选中状态图标路径
        "selectedIconPath": "static/tabbar/about_selected.png" // 选中状态图标路径
      }
    ]
  }
}
```

这是一个简单的示例,你可以根据自己的项目需求进行修改和扩展。`manifest.json` 中的配置项可以影响应用的名称、描述、版本、主题颜色、导航栏样式、底部导航栏配置等。


   - `pages.json`:页面配置文件,可以配置页面的路径、窗口样式、导航栏样式等信息。

{
  "pages": [
    {
      "path": "pages/index/index", // 页面路径
      "style": { // 页面样式
        "navigationBarTitleText": "Home" // 页面导航栏标题文字
      }
    },
    {
      "path": "pages/about/about", // 页面路径
      "style": { // 页面样式
        "navigationBarTitleText": "About" // 页面导航栏标题文字
      }
    }
  ],
  "globalStyle": { // 全局样式
    "navigationBarTextStyle": "black", // 导航栏标题文字颜色,可选值为 black/white
    "navigationBarBackgroundColor": "#FFFFFF", // 导航栏背景颜色
    "backgroundColor": "#F7F7F7" // 应用背景颜色
  },
  "tabBar": { // 应用底部导航栏配置
    "color": "#666666", // 导航栏默认文字颜色
    "selectedColor": "#007AFF", // 导航栏选中文字颜色
    "backgroundColor": "#FFFFFF", // 导航栏背景颜色
    "borderStyle": "black", // 导航栏边框颜色,可选值为 black/white
    "list": [ // 导航栏菜单列表
      {
        "pagePath": "pages/index/index", // 页面路径
        "text": "首页", // 菜单文字
        "iconPath": "static/tabbar/home.png", // 未选中状态图标路径
        "selectedIconPath": "static/tabbar/home_selected.png" // 选中状态图标路径
      },
      {
        "pagePath": "pages/about/about", // 页面路径
        "text": "关于", // 菜单文字
        "iconPath": "static/tabbar/about.png", // 未选中状态图标路径
        "selectedIconPath": "static/tabbar/about_selected.png" // 选中状态图标路径
      }
    ]
  }
}

 这是一个简单的示例,你可以根据自己的项目需求进行修改和扩展。pages.json 中的配置项可以影响页面的路径、样式、全局样式、底部导航栏配置等。

5. 其他常用语法:


   - 全局样式:Uni-app 支持在 `App.vue` 中定义全局样式,影响整个应用的样式。


   - 跨平台适配:Uni-app 提供了一些跨平台适配的方法,例如 `uni.upx2px` 可以将 upx 单位转换为当前设备的像素单位。

这些是 Uni-app 中的一些常用语法和特性,通过这些语法,开发者可以方便地进行跨平台应用的开发和调试。

七. Uni-app优秀项目展示:

Uni-app 是一个基于 Vue.js 的框架,可以用于开发跨平台的应用程序,包括iOS、Android、Web等。以下是一些优秀的 Uni-app 项目展示:

1.跨境购物平台

利用 Uni-app 开发的跨境购物平台,可以让用户在不同的国家之间进行购物,支持多语言、多货币支付等功能。

列如:淘宝网爱淘宝首页icon-default.png?t=N7T8https://uland.taobao.com/

 

2.在线教育应用

Uni-app 可以用来开发在线教育应用,包括视频课程、直播教学、作业提交等功能,适用于学校、培训机构等场景。

例如:腾讯网腾讯教育 (tencent.com)icon-default.png?t=N7T8https://edu.tencent.com/

 

3.社交应用

利用 Uni-app 开发社交应用,包括聊天、动态发布、社区论坛等功能,可以满足用户之间的交流和互动需求。

例如:QQ QQ PC版官方网站icon-default.png?t=N7T8https://im.qq.com/pcqq

 

4.在线医疗平台

Uni-app 可以用来开发在线医疗平台的移动应用,包括预约挂号、在线问诊、健康咨询等功能,方便用户获取医疗服务。

例如:京东健康 https://cont.jd.com/icon-default.png?t=N7T8https://cont.jd.com/

 

这些项目展示了 Uni-app 的强大功能和灵活性,可以满足不同行业和场景的需求,是一个值得开发者关注和使用的跨平台开发框架。

八.我对Uni-app的看法 :

Uni-app 是一个基于 Vue.js 的跨平台应用开发框架,它允许开发者使用 Vue.js 的语法来编写一次代码,然后通过编译工具将其转换为多个平台(如微信小程序、H5、App等)的原生应用。对于开发者来说,这种方式带来了很多便利,但同时也可能存在一些担忧和看法:

1.跨平台性能:

跨平台开发框架通常会引发性能方面的担忧,因为它们在不同平台上的实现机制可能不尽相同,导致一些性能上的损失。特别是对于需要高性能的应用场景,可能需要谨慎考虑跨平台框架的选择。

2.依赖厂商生态:

Uni-app 是由中国公司 DCloud 开发并维护的,因此一些开发者可能担心过度依赖这个公司的生态系统,可能会出现的风险包括生态系统的变化、支持力度的不足等。

3.学习曲线:

尽管 Uni-app 提供了 Vue.js 的开发体验,但仍然需要学习其独特的 API 和生命周期,对于一些新手开发者来说,可能需要花费一些时间去适应。

4.灵活性和定制性:

跨平台框架通常需要在满足多个平台要求的同时,也要牺牲一定的灵活性和定制性。在一些特定需求下,可能需要更多定制化的解决方案,而跨平台框架可能无法完全满足这些需求。

5.社区生态支持:

跨平台框架的成功与否很大程度上取决于其社区的活跃程度和支持度。对于 Uni-app 来说,开发者可能关心其社区生态是否健康,是否能够及时解决问题、提供支持等。

综合来说,Uni-app 作为一种跨平台开发解决方案,有其便利性和适用性,但也需要开发者根据具体项目需求和场景特点进行权衡和选择。

  • 41
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值