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、效果展示



相关推荐
传奇开心果编程6 小时前
【SwiftUI入门练中学】第17课 通知与后台任务
学习·ui·ios·swiftui·swift
ii_best17 小时前
按键精灵手机端开发安卓版实战:手写一个可最小化、可拖动的「运行日志悬浮窗」(附完整 源码 + 踩坑记录)
android·ios·智能手机·自动化·ai编程·按键精灵
美狐美颜SDK开放平台19 小时前
Android与iOS直播APP美颜有什么区别?视频美颜SDK开发详解
android·ios·音视频·视频美颜sdk
星辰徐哥2 天前
鸿蒙平台 KDevelop 集成开发环境适配实战:基于 Electron 壳方案的跨平台多语言代码编辑器开发
electron·编辑器·harmonyos
传奇开心果编程2 天前
【SwiftUI入门练中学】第7课 动画与手势:让界面更灵动
学习·macos·ui·ios·swiftui·swift
知潮网2 天前
发售刚十天,9999 元的 iPhone 18 Pro 解锁就重启
ios·iphone
风华同学2 天前
vscode远程连接
ide·vscode·编辑器
2501_916007472 天前
苹果应用商店App Store上架费用标准及原因解析
android·ios·小程序·https·uni-app·iphone·webview
Sunny_GMF2 天前
所见即所得编辑器原理实战:源码与渲染永不失真的三层一致性设计(Markdown/CodeMirror 装饰)
microsoft·编辑器·ai编程·harmonyos
一路向北he3 天前
trae或者vscode定义了文件,但是文件不亮是灰的
ide·vscode·编辑器