App相关技术以及打包
平时小伙伴们自己的博客网站只能在浏览器打开,但是有时候你想要制作自己独立个人博客app,宣传并推广自己的app,打造个人ip。如何把自己的web博客网站打包成安卓app?
1.开发App的相关技术使⽤
⽬前市⾯上的移动互联开发技术主要分为三种,NativeAPP(基于本地操
作系统运⾏)、Web APP(基于⼿机浏览器运⾏)与HybridApp(混合模
式移动应⽤)。
1.1.原⽣开发
原⽣开发⽬前的主流技术包含iOS与Android开发,使⽤的是Apple与
Google⾃家的开发语⾔。
Apple开发者⽹站
Android开发者⽹站
原⽣App开发特点:
- 每⼀种移动操作系统都需要独⽴的开发项⽬
- 每种平台都需要独⽴的开发语⾔。iOS(Objective-C, swift),
Android(Kotlin,Java)
- 需要使⽤各⾃的软件开发包,开发⼯具以及各⾃的控
件;iOS(Xcode),Android(Android Studio) - iOS开发对系统依赖性较强,只能在MacOS与iPadOS(21年九⽉后)系
统下进⾏编程上架
能⼒⽅⾯: - 能够与移动硬件设备的底层功能,⽐如个⼈信息,摄像头以及重⼒加
速器等等
获取⽅法 - 直接下载到设备
- 以独⽴的应⽤程序运⾏(并不需要浏览器)
- ⽤户必须⼿动去下载并安装这些原⽣App
- 有⼀些商店与卖场来帮助⽤户寻找你的App,⽬前app市场不计其数
版本控制
- ⽤户可以⾃由地选择是否更新软件版本,所以会出现不同⽤户同时使
⽤不同版本的情况
优势
- ⽐移动WebApp运⾏快
- ⼀些商店与卖场会帮助⽤户寻找原⽣App
- 官方⽅卖场的应⽤审核流程会保证让⽤户得到⾼质量以及安全的App
- 官⽅会发布很多开发⼯具或者⼈⼯⽀持来帮助你的开发
劣势
- 开发成本⾼,尤其是当需要多种移动设备来测试时
- 因为是不同的开发语⾔,所以开发,维护成本也⾼
- 因为⽤户使⽤的App版本不同,所以你维护起来很困难
- 官⽅卖场审核流程复杂且慢,会严重影响你的发布进程
1.2.Web App开发
使⽤前端技术进⾏App的开发,主要技术有H5,Vue等,相当于讲前端
技术放在原⽣的webView中去执⾏
Web App开发特点
- 因为运⾏在移动设备的浏览器上,所以只需要⼀个开发项⽬
- 这种应⽤可以使⽤HTML5,CSS3以及JavaScript以及服务器端语⾔来
完成(Java,Python,PHP等) - 这⾥没有标准的SDK,可以选择跨平台开发⼯具进⾏打包发布,⽐如
PhoneGap, Cordova等
能⼒⽅⾯
- 只能使⽤有限的移动硬件设备功能。
获取⽅法
- 从移动设备上的浏览器访问
- 不需要安装额外的软件
- 软件更新只需要服务器就够了
- 可以使⽤打包⼯具进⾏App打包,发布到iOS与Android软件市场
版本控制
- 所有的⽤户都是⽤同样的版本
优势 - HTML5具有很强的兼容性,原来必须要⽤原⽣技术去做的效果或者
功能现在基本都可以通过简单的 HTML5开发技术实现 - 跨平台开发
- 使⽤现有组件库或框架进⾏快速开发
- 开发成本低,掌握前端技术便可很快上⼿
- 如果你已经有了⼀个WebApp,你可以使⽤ responsive web design
来辅助改进
- 迭代更容易
劣势
- ⽆法使⽤很多移动硬件设备的独特功能
- 要同时⽀持多种移动设备的浏览器让开发维护的成本也不低
- 如果⽤户使⽤更多的新型浏览器,那问题就更不好处理了
1.3.混合式开发
是指介于web-app、native-app这两者之间的app,兼具“Native App良
好⽤户交互体验的优势”和“Web App跨平台开发的优势”。
混合式开发主流技术
React Native(facebook开源的基于reactJs的RN)
优点:
- 能够在Javascript和React的基础上获得完全⼀致的开发体验,构建
世界⼀流的原⽣APP。 - 仅需学习⼀次,编写任何平台。(Learn once, write anywhere)
缺点: - 初次学习成本⾼
- 必须在不同平台下写两套代码,依赖暴露的接⼝
⾕歌 Flutter(Flutter是⾕歌的移动UI框架, Dart 语⾔)
Flutter是⾕歌的移动UI框架,可以快速在iOS和Android上构建⾼质量
的原⽣⽤户界⾯。 Flutter可以与现 有的代码⼀起⼯作。
优点:
- 快速开发,Flutter的热重载可帮助您快速地进⾏测试、构建UI、
添加功能并更快地修复错误。在iOS 和Android模拟器或真机上可以
在亚秒内重载,并且不会丢失状态 - UI界⾯⽐较漂亮,使⽤Flutter内置美丽的Material Design和
Cupertino(iOS⻛格)widget、丰富的 motion API、平滑⽽⾃然的
滑动效果和平台感知,为您的⽤户带来全新体验。 - 不会原⽣可以直接开发
- 原⽣性能⽐较好
缺点:
- ⽬前仍然处于技术更新完善阶段
- 脱离不开原⽣,开发⼈员需要具备原⽣(Android、iOS)基础开
发能⼒ - 适配问题,开发⼯具版本升级后,修改量⼤
阿⾥weex(阿⾥巴巴开源的基于Vue.js)
Weex是2016年6⽉由阿⾥巴巴推出的⼀个动态化的⾼扩展跨平台解决
⽅案,⽀持iOS、安卓、YunOS及 Web等多端开发部署。
优点:
-
Weex 的结构是解耦的,渲染引擎与语法层是分开的,也不依赖任
何特定的前端框架 -
⽬前主要⽀持 Vue.js 和 Rax这两个前端框架。
-
渲染 Weex ⻚⾯时和渲染原⽣⻚⾯⼀样。
-
⼀套基础的内置组件
-
不需要安装复杂的环境,运⾏环境简洁、调试⼯具也还好,容易做
降级处理,特别适合开发单个⻚⾯
缺点:
- ⽂档更新不及时,资料不多
- 坑⽐较多,前端
2.使⽤HBuilderX打包Web App
这里推荐使用HBuilderX,当然用其他的也可以,但是因为从软件的用户体验上来讲,跟市面上的这些软件比起来。确实比较简单,比较好用,这个软件的体积非常的小,大概只有十几MB,也不需要你安装,你只需要下载下来解压就可以使用。尤其对初学者来讲,这个软件几乎不需要什么学习成本,就可以快速的掌握它。
下载HBuilderX⼯具,打包Web App https://www.dcloud.io/
打包步骤(以Vue为例)
1.在项⽬根⽬录下新建vue.config.js⽂件,写⼊如下配置
module.exports = {
publicPath: './',
outputDir: 'dist',
assetsDir: 'static'
}
2.在src/router/index.js下,将路由history模式注释掉
3.在项⽬路径下执⾏命令npm run build,⽣成dist打包⽂件
4.打开HBuilder,新建项⽬,选择H5+App,输⼊项⽬名称,选择项⽬路
径,点击创建
5.了解⽬录结构
6.找打打包⽣成的dist⽂件,放⼊到项⽬中,替换已经存在的index.html⽂
件
7.基础配置
8.图标配置
9.如需配置App启动图⽚,可以⾃⾏配置
10.配置SDK
11.根据⾃⼰的需求,进⾏权限配置使⽤
12.App常⽤其他设置
13.源码视图
"statusbar":{ // 应⽤可视区域到系统状态栏下透明显示效果
"immersed": true
}
14.原⽣App-云打包
进⼊⽹站填写⼿机号验证
15.打包成功后,找到对应apk使⽤即可
链接直接打包成Apk 参考我这篇
使用android studio将网站打包成apk(可以直接使用替换为自己的网站连接即可)
参考
HBuilderX官方(App离线打包):
https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android.html#versioncode
segmentfault博客:https://segmentfault.com/a/1190000040092971
CSDN博客:https://blog.csdn.net/PIOnly/article/details/125196697
相关文章:

App相关技术以及打包
平时小伙伴们自己的博客网站只能在浏览器打开,但是有时候你想要制作自己独立个人博客app,宣传并推广自己的app,打造个人ip。如何把自己的web博客网站打包成安卓app? 1.开发App的相关技术使⽤ ⽬前市⾯上的移动互联开发技术主要分…...

【unity】【游戏开发】Unity代码不给提示怎么办?
【现象】 Unity用着用着忽然VS脚本不给提示了。 【分析】 重启Unity无效 重启VS无效 重装VS无效 感觉应该是项目设置问题 【最终方法】 打开Edit->Preferences。 如果是这个画面就把Script Editor改成自己的VS编辑器。 变成下面这个样子,点击Regenerate Pr…...
Kubernetes固定Pod IP和Mac地址
方案1: 在 Calico GitHub Issues#5196 问题的 commits#6249 提交中,引入新的 Pod 注释cni.projectcalico.org/hwAddr,用于将指定的 MAC 地址分配给容器端 Veth 接口。 将Calico升级至v3.24.1或以上版本,使用如下注解轻松设置Pod…...
计算机组成原理之数据的对齐和大/小端存放方式、计算机中数据对齐的具体方式有哪些
1、计算机组成原理之数据的对齐和大/小端存放方式 数据对齐 数据对齐是处理器为了提高处理性能而对存取数据的起始地址所提出的一种要求。 系统一次性读取内存中数据的大小是固定的,例如字长为32位的操作系统,默认的一次读取4字节内容。因此ÿ…...

【学术论文投稿】Windows11开发指南:打造卓越应用的必备攻略
【IEEE出版南方科技大学】第十一届电气工程与自动化国际会议(IFEEA 2024)_艾思科蓝_学术一站式服务平台 更多学术会议论文投稿请看:https://ais.cn/u/nuyAF3 目录 引言 一、Windows11开发环境搭建 二、Windows11关键新特性 三、Windows11设计指南 …...

【毕业论文+源码】基于SSM(Spring + Spring MVC + MyBatis)的房屋租赁系统
创建一个基于SSM(Spring Spring MVC MyBatis)框架的房屋租赁系统是一个涉及多个步骤的过程。这个过程包括但不限于需求分析、数据库设计、前端界面设计以及后端逻辑实现等。 1. 需求分析 首先,明确你的房屋租赁系统的功能需求。例如&…...
【golang】解析 JSON到指定结构体
1.解析[1,2,3,4]数组类型的json package mainimport ("encoding/json""fmt" )func main() {// JSON 数据jsonData : [1, 2, 3, 4]// 定义一个切片来接收解析后的数据var numbers []int// 解析 JSON 数据到切片err : json.Unmarshal([]byte(jsonData), &am…...
设计模式——过滤器模式
一、定义和概念 定义 C 过滤器模式(Filter Pattern)也称为标准模式(Criteria Pattern),是一种设计模式,用于根据不同的标准或条件从一组对象中筛选出符合条件的对象。它将筛选条件的逻辑封装在不同的过滤器…...

Unity(四十八):Unity与Web双向交互
效果 游戏对象绑定脚本 游戏脚本源码 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Tent : MonoBehaviour {public Camera camera;// Start is called before the first frame updatevoid Start(){}// Update is called once…...

web前端--网页练习
html代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>小米</title><!-- 引…...

信息安全入门——网络安全控制
目录 前言信息安全入门:网络安全控制基础1. 用户识别技术:确认你是谁2. 访问控制技术:定义你能做什么3. 访问控制列表(ACL):精细的权限管理4. 漏洞控制:防范未然5. 入侵检测系统(IDS…...

跟着鸟儿学飞行?扑翼机器人的感知秘籍
大家好!今天来了解一篇扑翼机器人的研究——《Avian-inspired embodied perception in biohybrid flapping-wing robotics》发表于《Nature Communications》。在广阔天空中,鸟类凭借精妙翅膀结构与敏锐感知自由翱翔,这一直吸引着科学家探索其…...

Python画笔案例-093 绘制 彩虹图
1、绘制 彩虹图 通过 python 的turtle 库绘制 彩虹图,如下图: 2、实现代码 绘制 彩虹图,以下为实现代码: """彩虹图.py """ import turtledef draw_semi_circle(radius):"""画半圆函数"""turtle...
【数据结构】贪心算法:决策的艺术
贪心算法(Greedy Algorithm)是一类在每一步选择中都采取局部最优解的方法,希望最终能够达到全局最优解。通俗地说,贪心算法的思想就是“每一步都尽量做出最好的选择”,以期望整个过程的最终结果也达到最优状态。贪心算…...

Linux LVS详解
LVS(Linux Virtual Server)即Linux虚拟服务器,是一个基于Linux操作系统的高性能、可扩展的负载均衡器。以下是对LVS的详细介绍: 一、简介 LVS项目由章文嵩博士在1998年5月发起,是中国国内最早出现的自由软件项目之一…...

LabVIEW显微镜自动对焦系统
在生物医学研究中,显微镜图像的清晰度对于细胞分析非常重要。传统的手动对焦方法容易受到人为因素的影响,因此开发了一种自动对焦技术,以提高图像采集的准确性和效率。 自动对焦方法概述 该系统结合了图像清晰度评估和一维功能优化ÿ…...
基于IP的真实地址生成器
ip-geoaddress-generator 是一个基于 Web 的在线应用程序,能够根据 IP 地址生成真实的随机地址信息。通过多个 API 获取位置数据和随机用户信息,该工具为用户提供了完整的虚拟身份。它由 Next.js 和 Radix UI 构建,具备自动检测当前 IP 地址和…...
下面程序头的三个import语句可以合并或简化么?
下面程序头的三个import语句可以合并或简化么? from tkinter.simpledialog import askinteger from tkinter import * from tkinter import messagebox ——是的,三个import语句可以合并为一个。 合并后的import语句如下所示: from tkinte…...

深度学习--CNN实现猫狗识别二分类(附带下载链接, 长期有效)
1. 代码实现(包含流程解释) 样本量: 8005 # # 1.导入数据集(加载图片)数据预处理# 进行图像增强, 通过对图像的旋转 ,缩放,剪切变换, 翻转, 平移等一系列操作来生成新样本, 进而增加样本容量, # 同时对图片数值进行归一化[0:1] from tensorflow.keras.preprocessing.image …...

Depcheck——专门用于检测 JavaScript 和 Node.js 项目中未使用依赖项的工具
文章目录 Depcheck 是什麽核心功能📚检测未使用的依赖🐛检测缺失的依赖✨支持多种文件类型🌍可扩展性 安装与使用1. 安装 Depcheck2. 使用 Depcheck Depcheck 的应用总结项目源码: Depcheck 是什麽 来看一个常见错误场景…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践,很多人以为AI已经强大到不需要程序员了,其实不是,AI更加需要程序员,普通人…...