Android 源码分析,FreeMind 是一件超级利器

简介: Android 源码分析,FreeMind 是一件超级利器思维导图软件 XMind 与 FreeMind 的对比作者: 善用佳软  日期: 2012-04-17  分类: 1 文本办公, 1.5 思维导图   标签: mindmap思维导图类软件中,最有影响力的开源免费软件是 FreeMind 和 XMind。

Android 源码分析,FreeMind 是一件超级利器


思维导图软件 XMind 与 FreeMind 的对比

作者:   日期: 2012-04-17  分类: 1 文本办公, 1.5 思维导图   标签:

思维导图类软件中,最有影响力的开源免费软件是 FreeMind 和 XMind。FreeMind历史悠久,当属经典;XMind作为后起之秀,大有赶超之势。同作为免费、开源的思维导图解决方案,应如何选择/结合两款软件?本文试做分析,以供用户/开发者参考。
FreemindXMind
本文的分析基于Windows平台下的 FreeMind 0.90 RC3 和 XMind 3.03,结合笔者的使用经验,也包括XMind开发者所提供的信息。基本结论是:总体看,XMind 已超越 FreeMind;个别方面,FreeMind 值得 XMind 学习

  FreeMind 0.90 RC3 XMind 3.03
官方主页 http://freemind.sourceforge.net/ http://www.xmind.net/
本站介绍文章 FreeMind 介绍 XMind 介绍
体积(仅安装目录) 16MB 40 MB
内存占用(不打开任何文档) 45 MB 75 MB

一、XMind 与 FreeMind 的相同/相通之处

– 都是免费、开源、基于 Java。
– 都满足绘制思维导图的基本甚至高级功能。
– 相通之处:XMind 可以导入/导出 FreeMind 格式;反之不能。

二、XMind 与 FreeMind 比较

1. XMind: 更丰富的结构且支持混用

FreeMind:只支持一种逻辑图(水平)结构。
XMind:在逻辑图之外,还支持组织结构图(竖直)、树状图(水平+竖直)、思维导图(辐射)、鱼骨图、二维图(表格)。不仅如此,还能在一个文档中组合使用多种表达形式。实用举例:整个项目管理用逻辑图,人员安排部分用组织结构图,风险及应对采用鱼骨图,进度部分用二维图。

2. XMind: 支持自由节点因而支持多图

FreeMind:只能有一棵树,即:根节点唯一,其他节点必须直接或间接放在根节点下。
XMind:允许在主树之外创建自由节点(应用举例:把“文档作者/创建日期”作为自由节点,补充思维导图信息);由于自由节点也是可以增加子节点的,所以可产生第二棵、第N棵新树。

3. FreeMind: 根节点仍可以插入父节点

需求:在绘完的导图上再加一层。比如,最初建立了“唐诗”导图,现在要扩展到“唐宋文学”,即“唐诗”根节点要降至二级节点。
XMind:顶级的自由节点之间是可以互为子节点的,但原来的根节点(XMind称为中心主题)则不能拖到其他节点上。满足上述需求,就要新建文档,以“唐宋文学”为根节点,然后导入或粘贴原有内容。
FreeMind:支持根节点上插入“父节点”。
建议:XMind的“根节点”比FreeMind减少了一份特殊性,即允许其他节点独立于此;但仍包留了另一份特殊性,不能成为其他节点的子节点。从使用角度,建议取消此限制,即:任何节点本身是一样的,彼此之间为父子关系。——或许有技术限制,但节点/层级的平等灵活是XML的精神。

4. XMind 支持附件, FreeMind 全为链接

FreeMind:可以有超链接到外部文档和图片,也可以显示外部的图片。但这些资源都只是 .mm文件中的链接url,并非素材本身。即,.mm是纯文本的xml,包括 FreeMind 的图标也是以ID数字标示。
XMind:支持上述链接方式,也支持(默认)把该文档及图片引入XMind文件作为附件,形成完整的资料包。 .xmind 格式与OOo文档一样,实质是 xml+素材 的zip包。展开后的内容举例如下:

attachments\
attachments\4hm2upmpscpth85latqpd49biq.png
attachments\179ekuhhgn9g866cg5a26b78fh.pdf
META-INF\
META-INF\manifest.xml
Thumbnails\
Thumbnails\thumbnail.jpg
content.xml
meta.xml
styles.xml

5. 发布思维导图方面,XMind 要向 FreeMind 学习

(1)能导出哪些格式

– XMind 免费版:FreeMind、html、图片(bmp/jpg/gif/png)、纯文本
– XMind Pro:以上 + MindManager、pdf(普通/思维图)、ppt/doc/rtf (截屏
– FreeMind:各种html、flash、pdf、OpenOffice文档、png/jpg、svg/twiki等格式 (截屏

(2)我关注的导出格式、比较、说明

– 静态图片:思维导“图”当然要能导出静态图片,这是最低需求。实在不能导出,截屏亦可。只是内容太多超过一屏时,截屏就不太方便了。图片可用于网页发布,也可用于其他文档(pdf/office)。格式方面,强烈不推荐bmp/jpg,推荐png/gif格式,原因见此。这方面,XMind与FreeMind持平。

– pdf 文档发布:相比图片的优点是,放大后文字仍然清晰。如果内容太多,导出一页的pdf发给别人,无论用于打印还是放大查看,都比图片的效果好很多。对比结果:XMind Pro(未用过)> FreeMind(够用)> XMind(无)

– 广义html导出:FreeMind 遥遥领先,详细见下。

(3)广义html导出的详细比较

结论:广义html/flash式导出,目的是在线发布后,仍保留折叠/展开动态效果,及链接功能。这方面,FreeMind 遥遥领先,远胜 XMind。
XMind:导出的html包括图片和节点文字。但图与文字无链接;文字层级也不能折叠;图片默认为jpg,强烈建议换为png。
FreeMind:可采用不同技术进行导出,每种导出效果都非常好。FreeMind 导出html的格式有:
① html:纯文字方式,节点保留原有格式,层级关系可折叠展开,url链接有效。
② xhtml(javascript):效果同上,只是改用js实现。
③ xhtml(可点击map图片):除了上述文字内容外,还附有图片,并且点击图片的节点可跳转到对应的文字。
④ java applet:功能保留最多的方式。在浏览器中的使用效果近乎在 FreeMind 中打开 .mm文件。
⑤ flash:点击可折叠/展开,链接url有显示但无法点击。

6. FreeMind节点支持html代码

FreeMind:节点支持html代码,实现文字格式化、换行、分段、图像链接、表格。(此外,还支持LaTex代码)
XMind:不能对部分文字分别设定格式,可以shift+enter换行。

7. XMind 具有更好的可持续性

FreeMind作为经典开源软件,虽在持续更新中,但新功能进展并不多。而同作为开源软件的XMind,不仅因为后发优势拥有了更多功能。并且,作为有商业公司支持的开源产品,新功能的开发会更加活跃——这并非迷信商业,而是实际情况,包括两个开发团队的成员也有此认识。
另外,XMind 还提供了更强大的Pro版,可以满足个人和企业的更高需求,并能提供可靠的技术支持。

8. XMind 更美观,FreeMind 更快速省资源

无论用户界面还是思维导图文件,XMind 都更加美观。而 FreeMind 更加简约,占用资源更少,启动和运行速度更快。各取所需即可。

9. 其他差异

FreeMind 可以导入目录结构,相当于变成了资源管理器;XMind不能。
在节点输入较多文字的过程中,XMind的输入框会阶梯式不断加大,而FreeMind会保持同样大小(只显示最右侧部分)。
XMind的节点可以添加标签,以进行过滤筛选;而FreeMind可以根据节点文字进行过滤显示。
注意:XMind导入.mm时,无法识别包含html代码的节点。

三、结论:软件选择建议

大多数人普通用户:XMind。理由:支持逻辑图、二维图等多种表达形式并可混用,更加美观、支持附件。
Geek或偏执者:FreeMind。理由:更节约资源,界面更简朴。
自主网络发布:FreeMind。理由:强大灵活的html导出功能。
不执着于软件,仅执着于最优效果:主用 XMind 辅用 FreeMind。即仅在自主网络发布时另存为FreeMind格式,再用FreeMind导出为html。

(完)
2012-04-18: 更新导出功能比较
2009-11-17: 初稿。

目录
相关文章
|
存储 监控 Android开发
Android卡顿优化 | ANR分析与实战(附ANR-WatchDog源码分析及实战、与AndroidPerformanceMonitor的区别)
Android卡顿优化 | ANR分析与实战(附ANR-WatchDog源码分析及实战、与AndroidPerformanceMonitor的区别)
|
Android开发
Android PackageManagerService源码分析和APK安装原理详解
Android PackageManagerService源码分析和APK安装原理详解
477 1
|
XML 存储 搜索推荐
|
设计模式 XML 缓存
Android体系课学习 之 网络请求库Retrofit源码分析-看这一篇就够了
- 网络请求在我们开发中起的很大比重,有一个好的网络框架可以节省我们的开发工作量,也可以避免一些在开发中不该出现的bug - *Retrofit*是一个轻量级框架,基于*OkHttp*的一个*Restful*框架
|
存储 缓存 Java
Android体系课-开源框架-这是一份详细的Glide源码分析文章
最近在`组件化`开发中准备封装一个`图片加载库`,于是乎就有了这篇文章 本篇文章对`Glide`源码过程做了一个详细的讲解,也是为了记录下自己对`Glide`的理解,以后忘记还可以从这里查找。
|
XML Java Android开发
Android8.1 MTK平台 SystemUI源码分析之 网络信号栏显示刷新(下)
Android8.1 MTK平台 SystemUI源码分析之 网络信号栏显示刷新(下)
228 0
|
XML 数据库 网络虚拟化
Android8.1 MTK平台 SystemUI源码分析之 网络信号栏显示刷新(上)
Android8.1 MTK平台 SystemUI源码分析之 网络信号栏显示刷新
324 0
|
XML Java Linux
Android8.1 MTK平台 SystemUI源码分析之 电池时钟刷新
Android8.1 MTK平台 SystemUI源码分析之 电池时钟刷新
389 0
|
Java 调度 Android开发
android体系课-系统启动流程-之zygote进程启动过程源码分析
笔者刚开始学习Android的时候也和大部分同学一样,只会使用一些应用层面的知识,对于一些比较常见的开源框架如<mark>RxJava</mark>,<mark>OkHttp</mark>,<mark>Retrofit</mark>,以及后来谷歌推出的<mark>协程</mark>等,都只在使用层面,对于他们<mark>内部原理</mark>,基本没有去了解觉得够用就可以了,又比如Activity,Service等四大组件的使用原理,系统开机过程,Launcher启动过程等知之甚少,知其然而不知其所以然,结果就是出现某些问题,不知道从哪里找原因,只能依赖万能的百度,但是百度看多了,你会发现自己
|
Java 调度 Android开发
android体系课-系统启动流程-之SystemServer启动过程源码分析
笔者刚开始学习Android的时候也和大部分同学一样,只会使用一些应用层面的知识,对于一些比较常见的开源框架如<mark>RxJava</mark>,<mark>OkHttp</mark>,<mark>Retrofit</mark>,以及后来谷歌推出的<mark>协程</mark>等,都只在使用层面,对于他们<mark>内部原理</mark>,基本没有去了解觉得够用就可以了,又比如Activity,Service等四大组件的使用原理,系统开机过程,Launcher启动过程等知之甚少,知其然而不知其所以然,结果就是出现某些问题,不知道从哪里找原因,只能依赖万能的百度,但是百度看多了,你会发现自己
下一篇
无影云桌面