APP长文本内容编辑器功能实现方案

背景

CSDN APP 中原有编辑器页面为纯H5适配,整体用户交互体验差,如何优化APP端编辑器用户体验是我们团队需要思考的问题。下面我们以iOS为例展开讨论。

一、方案调研

我们分析了几款国内内容发布的APP,如知乎、今日头条、简书,让我们来看看他们是如何实现APP编辑器功能的。

1、知乎APP编辑器实现方案

从图上可以看出:

a、知乎APP编辑器的输入标题内容为原生实现

b、知乎APP编辑器的正文部分为WebView

c、知乎APP编辑器的工具栏全部由原生实现

2、今日头条APP编辑器实现方案

从图上可以看出:

a、今日头条APP编辑器的输入标题内容与正文部分均为WebView实现

b、今日头条APP编辑器的工具栏全部由原生实现

3、简书APP编辑器实现方案



从图上可以看出:

a、简书APP富文本与MarkDown编辑器的内容区域(标题+正文)均为WebView实现,MarkDown预览功能也由WebView实现

b、简书APP编辑器的工具栏全部由原生实现

c、通过查看简书APP编辑器文件发现,编辑器是本地加载HTML JS等资源文件

综上所述,可以看出APP基本上都是是通过WebView + 原生交互方式来实现编辑器功能

方案选择

1、也是用Hybrid方案,由原生与H5混合开发。

2、将H5资源打包放到远端,APP首次打开应用,从远端下载编辑器资源包,本地加载资源文件。

3、如果资源版本发生变化,将从远程再次下载,覆盖原来本地资源。

4、通过JSBrigde 通信来实现工具栏与内容区域交互。


方案实现

1、资源下载

swift 复制代码
if (是否首次下载资源 || 是否需要更新资源) {
   //下载请求
   [CNNetManager getEditorResource:url {}];
}

2、功能结构

3、效果展示



相关推荐
白鹭鸣鸣!2 分钟前
WSL2 + OpenCode 完整搭建全流程(含迁移 WSL 到 D 盘)
编辑器
茶底世界之下6 分钟前
红花太抢眼,蓝天又想留下:用 Awaking 比较两种减饱和
ios
2501_916008893 小时前
Windows 上写第一个 SwiftUI App,KXBuild 空工程起步,跑到 iPhone 真机
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
骑着蜗牛撵大象3273 小时前
四种库收进一个SQL编辑器(下):跨库取数、方言对齐与四库巡检的落地拆解
jvm·数据库·sql·编辑器·数据迁移·跨库查询
2501_915918413 小时前
iOS 上架注意事项有哪些?Appuploader 的四个阶段自查清单
android·ios·小程序·https·uni-app·iphone·webview
学习论之费曼学习法5 小时前
无人值守AI内容矩阵实战(7):Playwright 发布器避坑——编辑器竞态、索引延迟与风控
python·线性代数·矩阵·编辑器·浏览器自动化·playwright·踩坑记录
心态还需努力呀5 小时前
把 Zettlr 搬上鸿蒙 PC:墨匣学术写作编辑器移植与上架全记录
华为·编辑器·harmonyos
努力学习的小廉6 小时前
UE5 入门系列(二):编辑器基础操作速通
ue5·编辑器
黑化旺仔1 天前
【OC】Runtime:类元数据、加载初始化与消息派发
开发语言·macos·ios·objective-c
songgeb1 天前
iOS App支持设置RTL语言的实践
ios·swift·ui kit