移动端开发--H5、小程序、混合APP(上)

简介: 本文适合日常开发移动端项目或对移动端开发感兴趣的小伙伴阅读。

一、前言


广东靓仔开发过H5、小程序、混合APP、Web等等的前端应用,这里给小伙伴们分享下移动端开发这方面的知识


1、使用过Vue、React、taro、uni技术开发过H5项目2、采用过wepy、mpvue、taro、uni、原生小程序来开发小程序3、运用过APICloud、uni、React Native开发过混合APP项目

 

下面给小伙伴们分享下这些技术在移动端开发的运用,由于篇幅有限,只会大概讲讲方案~

 

对某个技术感兴趣的小伙伴可以到官方文档进行深入学习,官方文档是最好的学习资源。


二、H5


1、Vue开发H5项目    

广东靓仔很久之前发过一篇使用Vue开发H5项目放在博客那里,今天看了下居然有7万多阅读量。下面给小伙伴们分享分享大概的思路。

image.png


viewport

通俗的讲,移动设备上的viewport就是设备的屏幕上能用来显示我们的网页的那一块区域

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"/>


rem

方式1:安装插件 lib-flexible、px2rem-loader方式2:自己封装个Rem

// 设计稿默认值
const DEFAULT_WIDTH: number = 375
const setRem = (window: Window, document: Document): void => {
  const docEl: HTMLElement = document.documentElement
  const resizeEvent: string = 'orientationchange' in window ? 'orientationchange' : 'resize'
  const reCaculate = (): void => {
    const clientWidth: number = docEl.clientWidth
    if (clientWidth) {
      docEl.style.fontSize = 20 * (clientWidth / DEFAULT_WIDTH) + 'px'
    }
  }
  if (document.addEventListener) {
    window.addEventListener(resizeEvent, reCaculate, false)
    document.addEventListener('DOMContentLoaded', reCaculate, false)
  }
}
export default setRem


请求

方式1: axios
方式2: fetch
当然我们需要结合业务进行二次封装,这里就不展开了。


Mock

推荐1:EasyMock
推荐2:RAP


UI库

推荐1:Vant UI

推荐2:Mint UICube UI、Muse UI、WeUI、vux、aui、amaze...等等


根据业务选一款合适的来使用即可


工具推荐

lodash: JavaScript 实用工具库

自动获取yapi的数据类型:GitHub某些开源项目

自动上传代码:gulp

用户与命令行交互的工具:  Inquirer.js

如果我们采用自定义脚手架,可以试试Inquirer.js,效果如下:

image.png


2、React开发H5项目    

React 是一个用于构建用户界面的 JavaScript 库。

脚手架

create-react-app


请求

方式1: axios
方式2: fetch

superagent...等


UI库

推荐1. Ant Design Mobile推荐2: Onsen UI推荐3:Semantic-UI-React


taro、uni开发H5放到小程序再来展开讲,开发的代码区别不大


三、小程序


1、Taro

广东靓仔之前使用Taro开发过小程序、H5,也写过一些关于Taro的文章。

image.png


taro是京东推出的框架,可以使用一套代码输出到多端,下面是taro现在支持的平台:

  • H5
  • ReactNative
  • 微信小程序
  • 京东小程序
  • 百度小程序
  • 支付宝小程序
  • 字节跳动小程序
  • QQ 小程序
  • 钉钉小程序
  • 企业微信小程序
  • 支付宝 IOT 小程序

 

 Taro使用不难,在实际开发项目的时候会有一些棘手的问题,很多问题广东靓仔都遇到过,平时与小伙伴也有一些交流,有遇到技术问题的小伙伴可以一起交流交流解决方案。记得之前有小伙伴遇到上传图片压缩这方面的问题,经过一番尝试,最后解决了。


UI

推荐1: Taro-ui

尽量使用官方推荐的UI库,这样可以避免编译的时候出现一些不兼容的情况。


框架支持

React、Vue、Vue3、Nerv

如果是新的项目,这里推荐使用Taro3进行开发


2、Wepy

   广东靓仔之前也是用wepy开发过一个小程序,开发体验还可以。wepy.js借鉴了Vue的语法风格和功能特性,对官方提供的框架进行了封装,更贴近于MVVM架构模式。

image.png


简单讲解:一个.wpy文件可分为三大部分,各自对应于一个标签:

  1. 脚本部分,即标签中的内容,又可分为两个部分:逻辑部分,除了config对象之外的部分,对应于原生的.js文件;

  2. 配置部分,即config对象,对应于原生的.json文件。

  3. 结构部分,即模板部分,对应于原生的.wxml文件。

  4. 样式部分,即样式部分,对应于原生的.wxss文件。
    其中,小程序入口文件app.wpy不需要template,所以编译时会被忽略。.wpy文件中的scripttemplatestyle这三个标签都支持langsrc属性,lang决定了其代码编译过程,src决定是否外联代码,存在src属性且有效时,会忽略内联代码。


小程序被分成三个实例:小程序实例App、页面实例Page、组件实例


import wepy from 'wepy';
// 声明一个App小程序实例
export default class MyAPP extends wepy.app {
}
// 声明一个Page页面实例
export default class IndexPage extends wepy.page {
}
// 声明一个Component组件实例
export default class MyComponent extends wepy.component {
}
相关文章
预约按摩小程序开发,为什么很多上门按摩平台根本招聘不到优秀技师?
上门按摩平台面临招不到优秀技师的问题,主要原因是平台众多,技师选择多样。为解决此问题,平台可引入技师等级制度,根据订单数量和好评率划分高、低等级技师。高等级技师可享受70%-90%的高提成及首页推荐,这不仅能激励技师的积极性,还能帮助平台筛选出优质技师,提升服务质量和口碑,形成良性循环。
|
15天前
|
小程序 Android开发
|
10天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
46 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
4天前
|
小程序 云计算 Android开发
发者社区 云计算 文章 正文 小程序开发与公众号用户关联推送消息(九)
发者社区 云计算 文章 正文 小程序开发与公众号用户关联推送消息(九)
21 3
|
10天前
|
小程序
|
8天前
|
数据采集 网络协议 算法
移动端弱网优化专题(十四):携程APP移动网络优化实践(弱网识别篇)
本文从方案设计、代码开发到技术落地,详尽的分享了携程在移动端弱网识别方面的实践经验,如果你也有类似需求,这篇文章会是一个不错的实操指南。
22 1
|
11天前
|
小程序 数据安全/隐私保护
|
10天前
|
小程序
|
16天前
|
人工智能 小程序
【一步步开发AI运动小程序】五、帧图像人体识别
随着AI技术的发展,阿里体育等公司推出的AI运动APP,如“乐动力”和“天天跳绳”,使云上运动会、线上健身等概念广受欢迎。本文将引导您从零开始开发一个AI运动小程序,使用“云智AI运动识别小程序插件”。文章分为四部分:初始化人体识别功能、调用人体识别功能、人体识别结果处理以及识别结果旋转矫正。下篇将继续介绍人体骨骼图绘制。