本文正在参加华为鸿蒙有奖征文征文活动
鸿蒙Next系统即将于2024年下半年登场,因此作为一名客户端开发者,无论是为了提升自己的技术水平,还是为了对得起老板给你的工资,或者单纯为了鸿蒙Next系统带来的机遇和挑战,我们都需要进行一定的了解,以迎接这一新平台的到来。
现在从GPT生成的前言回到正题来,这次为了活动的T恤奖励,打算研究一下鸿蒙上实现一个小说/漫画阅读器的可能性。先说结论:
目前来看,可能性还真不低,完成度上也足够满意,甚至有些自带的AI服务可以提供更NB的功能
至于具体的实现和代码,感觉都是被保密条款限制的部分?那接下来的文章就只说思路和实现效果?
回正题,按征文要求格式来分析一下:
围绕HarmonyOS NEXT特性,所畅想的创新创意
在鸿蒙Next系统上实现的阅读器核心受众为18至35岁之间的年轻人群体,主要集中在一线和二线城市。他们热衷于阅读,尤其是网络小说、科幻文学和轻小说等类型。这一群体大多追求时尚和高效的生活方式,常常利用碎片化时间进行阅读,如通勤途中、午间休息或睡前放松时。
该阅读器将为用户提供多样化的使用场景。用户可以在地铁或公交上,通过手机或平板设备轻松阅读自己喜爱的内容;在家中,可以将设备与智能家居系统连接,实现语音控制和大屏显示,获得更加沉浸式的阅读体验;在办公室午休时,通过鸿蒙Next的多屏协同功能,可以在电脑上无缝继续早上未读完的部分。此外,应用还支持离线下载和云同步功能,确保用户在无网络环境下也能畅快阅读。
作品创意/竞争力:
在鸿蒙Next系统上实现的小说/漫画阅读器,针对现代用户的阅读需求,设计了多项创新功能和体验优化,显著提升了用户体验。首先,小说部分引入了智能自动排版功能。该功能根据用户的阅读习惯和设备类型,自动调整字体大小、行间距和页面布局,确保在不同设备上都能获得最佳的阅读体验。此外,小说阅读器还支持自动朗读功能,利用鸿蒙Next的先进语音合成技术,将文字内容转化为自然流畅的语音朗读。这一功能使用户在开车、做家务或锻炼时也能"听"书,不再受限于传统的阅读方式,享受到全新的便捷体验。
对于漫画部分,应用则引入了AI分析和抓取功能。基于鸿蒙Next的强大AI能力,该功能可以智能识别和分析漫画中的图像和文本元素,提供更清晰的图像质量和准确的文本信息提取。这不仅提升了用户的视觉体验,还为后续的翻译功能提供了技术支持。此外,漫画阅读器还集成了翻译功能,支持多语言翻译,用户可以轻松阅读全球优秀的漫画作品,突破语言障碍,享受更加多元化的内容。
总的来说,这款小说/漫画阅读器通过智能自动排版、自动朗读、AI分析抓取和翻译功能,极大地提升了用户的阅读体验。与市场上其他阅读器相比,鸿蒙Next上的这款应用在功能和用户体验上具有明显的优势。其他应用可能提供了部分相似的功能,但在自动朗读、AI分析和翻译等方面,鸿蒙Next系统的特性使得这款应用能够提供更加流畅、智能和贴心的用户体验。总之,这款小说/漫画阅读器不仅满足了现代用户的多样化需求,还通过创新功能和优化设计,带来了全新的阅读体验。
可行性评估
可行性评估方面,首先来整理下要实现的功能:
- 基本的阅读功能(网络、本地数据拉取与解析,内容缓存)
- 排版功能(分页计算)
- UI界面处理(点击的菜单切换,页面的翻页动画)
- 手势处理
对于最基本的阅读器部分来说,大体上需要的注意点是这些,从这些部分出发,可以发现可行性还是可以的:
-
对于基本的阅读功能,现有的鸿蒙Next功能还是比较完善的,包括网络和文件IO系统,但是对于epub等书籍格式的支持暂时还没找到,不过这并不是核心问题所在,还是可以认为能实现的。
-
排版这块的支持,属于分页计算的范畴,目前鸿蒙arkTS部分是已经提供了基本的文本measure方法,而根据以前开发小说阅读器的经验来说,分页计算这部分也就需要measure方法足矣,因此应该有可行性的。
-
UI处理部分,比较核心的就是翻页动画部分的处理,作为一个常年捣鼓翻页动画的UI仔,对于覆盖和上下滑动翻页,这块是有可行性的,但是对于仿真翻页部分,比较尴尬的是鸿蒙Next并未开放对于自定义控件的cavnas修改能力,Canvas本身的API中也未包含可以直接绘制控件的功能。
因此,如果要实现一个仿真翻页的阅读器,可能要自己通过canvas取直接绘制Text,而要实现Text的长按和选择复制回复等操作,可以让仅在翻页动画阶段通过canvas实现,动画执行期间不提供手势服务;当翻页动画结束,则直接通过普通的Text组件来实现,这样既实现了仿真翻页,也避开了canvas方案无法处理手势的问题,但仍值得注意的是,这样带来静止与动画状态切换导致的控件重建,是否会有较大的性能问题还待研究。
另外在flutter上已经实现了着色器方案,鸿蒙是否具备着色器或者openGL的便捷操作,也是需要考察的部分。
虽然这样会比较麻烦与恶心,但是总之,是有可行性的。
-
最后的手势处理部分,鸿蒙也是有手势处理的API可供调用,因此也具备可行性
而对于其他额外部分功能,鸿蒙本身也自带了TTS服务,以及图片分析的能力,因此,上面提到的文本朗读、翻译、图片中人像抓取都是具备可行性的。
这样的话,可以顺便实现一个自动翻译欧美日本漫画的阅读器?不知道鸿蒙自带的AI能力中有没有图中摘字的功能?能摘出来文字信息就能实现翻译功能,这个后续研究下。
结语
还别说,现在这分析下来,真的挺有可能,而且如果自带的那帮AI能力能够使用,那确实会比很多阅读器牛逼。