移动端开发--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 {
}
相关文章
|
1月前
|
JSON 小程序 UED
微信小程序 app.json 配置文件解析与应用
本文介绍了微信小程序中 `app.json` 配置文件的详细
142 12
|
1月前
|
小程序 IDE PHP
圈子源码如何打包生成App小程序/开发一个圈子系统软件所需要的费用体现在哪里?
将PHP源码打包成App的过程涉及多个步骤和技术选择。以圈子源码为例,首先明确需求,确定App功能和目标用户群体,并根据需求开发小程序页面,如用户注册、圈子列表等。源码准备阶段确保源码适用于小程序开发,环境配置需安装IDE(如微信开发者工具)及依赖库。最后在IDE中打包小程序并上传至管理平台,通过审核后发布。费用方面,模板开发成本较低,定制开发则更高,具体取决于需求复杂度和第三方服务费用。
75 0
|
2月前
|
XML 移动开发 开发者
京东商品详情数据接口(H5、APP 端)
京东商品详情数据接口是为H5和APP开发者提供的工具,支持获取商品名称、价格、库存、销量、评价、图片等详细信息,优化应用功能。接口返回JSON或XML格式数据,方便解析处理。适用于电商导购、社交媒体分享、活动推广、价格监控等场景,提升用户体验和购物决策效率。示例代码展示了使用Python发送GET请求的方法。
|
1月前
|
移动开发 JSON API
1688 商品详情数据接口(H5、APP 端)
1688商品详情数据接口是1688平台提供的数据交互通道,支持H5和APP端,提供商品的全面信息(如标题、价格、库存、销量等),并实时更新。开发者可通过HTTP/HTTPS协议调用接口,使用GET或POST方法获取数据。示例代码展示了如何用Python请求该接口,需替换API密钥和商品ID。
|
1月前
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
28 0
|
2月前
|
人工智能 小程序 API
【一步步开发AI运动小程序】十七、如何识别用户上传视频中的人体、运动、动作、姿态?
【云智AI运动识别小程序插件】提供人体、运动、姿态检测的AI能力,支持本地原生识别,无需后台服务,具有速度快、体验好、易集成等优点。本文介绍如何使用该插件实现用户上传视频的运动识别,包括视频解码抽帧和人体识别的实现方法。
|
Android开发 iOS开发 开发工具
App移动端性能工具调研
工具 是否开源 平台支持 版本支持 语言 特性支持 具体性能指标 性能结果 插件支持 最新版本更新日期 工具 是否开源 平台支持 版本支持 语言 特性支持 具体性能指标 性能结果 插件支持 最新版本更新日期 GT 开源 Android & iOS Android 4.
1630 0
|
12天前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
144 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
28天前
|
Dart 前端开发
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
116 75
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
5天前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
27 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡

热门文章

最新文章

  • 1
    【视频测评 DEMO 参考】VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
  • 2
    微信小程序与Java后端实现微信授权登录功能
  • 3
    10分钟搭建微信小程序ecs【2月更文挑战第07天】
  • 4
    MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
  • 5
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 6
    原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
  • 7
    【Azure App Service】基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?
  • 8
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 9
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 1
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    40
  • 2
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    34
  • 3
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    27
  • 4
    【Azure Function】Function App门户上的Test/Run返回错误:Failed to fetch
    31
  • 5
    小游戏源码开发之可跨app软件对接是如何设计和开发的
    33
  • 6
    原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
    144
  • 7
    PiliPala:开源项目真香,B站用户狂喜!这个开源APP竟能自定义主题+去广告?PiliPala隐藏功能大揭秘
    63
  • 8
    语音app系统软件源码开发搭建新手启蒙篇
    45
  • 9
    MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
    939
  • 10
    语音交友app系统源码功能及技术研发流程剖析
    39