如何使用C/C++实现跨平台的电子书阅读器?

3
我正在开发一款平台无关的电子书阅读器(适用于移动设备),目前我的重点是epub格式。作为概念验证,我们已经使用平台提供的功能(如webview、Xml解析器、解压缩器等)在Android平台上制作了一个基本的epub阅读器。但现在我们想让它变得平台无关,并且我们想在C/C++中实现它。我知道C/C++中有解压缩程序和Xml解析器,但我担心的是渲染部分。我的问题是...

1.如何进行渲染,而不使用任何内置的Android视图,以便它也可以在其他平台上运行? 2.对于epub格式,是否最好使用webkit(我们考虑的所有平台都有webkit)?

到目前为止,我一无所知。请指点我从哪里开始。

此致, Rajeev


你的目标是移动客户端还是PC?请记住,每个设备类别都有一些基本限制(除了操作平台)。有时,“瑞士军刀”软件太低效而不实用。 - YeenFei
我们的目标是移动客户端。即使我也在想同样的问题,是否实际可行。不过,这只是为了证明概念。 - Rajeev
可能是重复的问题,已经有人在stackoverflow.com上提问过类似的内容。他们讨论了跨平台移动开发方面的工作进展。 - Markus Kull
我会查看那个线程 Markus。谢谢。 - Rajeev
那个帖子讨论了用于构建跨平台移动应用程序的开发框架。这是未来开发值得研究的东西。但是,假设在Android上,我能否显示XML而不使用WebViews / TextViews等(某些第三方渲染引擎)?我不确定该如何做到这一点。 - Rajeev
2个回答

2
最有可能的情况是您需要将应用程序分成跨平台后端和特定于平台的前端。
如果您想在应用程序中实现所有ePub的索引和搜索,这可以是跨平台部分的一部分。如果epub阅读器包含已下载/传输的epub目录,则数据库及其访问方法可能也是跨平台的(至少部分)。
然而,呈现层,即用户界面,可能需要特定于平台。最好的情况是您可以提出一种中间UI描述语言,可以自动翻译为Android / iPhone用户界面。然而,这是一项艰巨的任务,如果您不想创建多个跨平台应用程序,甚至可能不值得尝试。

谢谢Sebastian。这解释了很多问题。 - Rajeev

1
我发现唯一的 C/C++ 开发环境是 MoSync。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接