概述

所以我决定自己研究,并实现。

需求

调研

经过多次的分析和调研,有过这么几套方案。

使用UIWebView来实现

使用html解析后,原生控件实现

使用Markdown语法实现

使用第三方富文本库来实现

分析

1、使用UIWebView来实现

实现原理:

在显示的html文件中加入 contenteditable = “true”

如:

优点:

实现起来很简单,功能简单,而且与服务端的数据传输,只需要获得html的内容即可。

缺点:

操作、体验、功能、性能都是非常不爽的,依赖于 络,无法扩展更多的功能。而且UIWebView也是非常消耗性能的,就算换成UIWkWebview虽然能好些,但是一样不推荐使用。

结论:

实现原理:

优点:

实现简单,功能强大,加载速度快,而且与服务端的数据传输,只需要获得html的内容即可,还可以实现本地图片的显示(不用先把图片上传到服务端),就算没有 ,也可以编写。

缺点:

结论:

如果对交互和体验的要求不高,推荐使用。

3. 使用html解析后,原生控件实现

实现原理:

优点:

交互和体验很好,因为使用原生控件,性能消耗不多,操作可以自定义,较为方便。

缺点:

需要IOS、Android分别做开发,而且开发难度很大,主要问题就是解析html 和 转换成html,虽然也有一些第三方库来辅助,但是效果不是很理想。

结论:

技术难度大,不推荐使用。

4. 使用Markdown语法实现

实现原理:

传输Markdown格式的字符串,IOS、Android客户端进行解析展示,修改完,在把Markdown格式的字符串,传给服务器。需要都支持Markdown的解析

优点:

比较流行,传输内容少,速度快,可以实时预览。有第三方的类库,开发相对简单些。

缺点:

有一定的学习成本,还没有完全普及,扩展新功能很难。

结论:

主要看使用者年龄段,如果面向年轻人,推荐使用。

5. 使用第三方富文本库来实现

实现原理:

上有一些基于CoreText来实现的第三方库,但是交互需要自定义标签,才能进行。

优点:

功能强,操作简单,交互好,集成方便。

缺点:

IOS、Android都需要独立开发,还需要与服务端有一套自定义的标签。如果想自定义一些功能,需要修改底层,比较麻烦。

结论:

推荐使用,不过自定义难度较大。

最后一种方式,会在下一个章节介绍,除了功能,还有代码,及服务端交互的数据结构等。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月6日
下一篇 2021年5月6日

相关推荐