构建基于思维导图的webapp。不确定选择哪个框架

时间:2010-09-06 20:59:28

标签: silverlight web-applications vaadin mindmapping

我们正在开发基于思维导图的webapp作为我们的最后一年大学项目。它将是一个用户可以协作创建思维导图的网站。用户界面与https://bubbl.us/beta/和hxxp://www.mindmeister.com/非常相似。

简而言之,用户可以使用白板和绘图工具在白板上创建思维导图。其他会话用户可以看到一个用户所做的更改。例如会话有三个用户A,B和C.如果A更改思维导图,它将在B和C的白板上可见。

我们几天前正在考虑Flex,Openlaszlo,但项目完成的时间有限(约3个月),我们将这些分类。对于Flex,我们必须学习Actionscript3,对于Openlaszlo,没有IDE支持。所以他们两个都不是好选择。

我们将Silverlight和Vaadin框架入围作为可行的选择,但我们感到困惑,因为我们对其中任何一个都没有任何经验。在选择框架时,我们需要考虑以下几点:

  1. 项目的时间范围 - 约3个月,给予或需要2-3周
  2. 框架的学习曲线 - 应该很简单(非常相对的术语确实......在上下文中,我们熟悉VB6,PHP,Javascript和Core Java)
  3. 支持必要的图形相关功能 - 例如白板,拖放小部件,动画(不一定是花哨的东西)等。
  4. 教程和良好文档的可用性
  5. 有两个开源思维导图应用程序可用于此Web应用程序。

    • Silverlight - hxxp://silverdraw.codeplex.com/(一个webapp) - 更像是POC设计。
    • Java - hxxp://www.xmind.net/(桌面应用) - 我们需要的大多数思维导图功能都存在。如果我们使用Vaadin,我们可以重用一些代码,这是一个巨大的优点。

    我们对其他合适的框架持开放态度。你会选择哪个框架?

    P.S。:晦涩难懂的网址的借口'。新用户仅限于一个超链接。

2 个答案:

答案 0 :(得分:0)

你很乐意回答你自己的问题。使用vaadin这将是一项额外的工作,但随后你会在思维导图编码上节省大量时间。

答案 1 :(得分:0)

免责声明:我是Vaadin团队的成员,并且不太了解Silverlight。

我相信Silverlight和Vaadin都适合您的应用程序,而最大的挑战将是客户端实现视觉思维导图组件。

我快速浏览了一下XMind,它似乎是基于Swing的,所以我担心重用它的唯一方法就是将映射组件包装到applet中。您可以使用Vaadin轻松完成此操作,但它需要浏览器中的Java插件。

如果您考虑在没有插件的情况下实施思维导图组件,则可以使用以下选项:

  • 使用Vaadin核心组件(例如树,实例here)来显示思维导图。 Vaadin支持拖拉drop,所以实现起来非常快,而且你只需要使用服务器端的Java东西。
  • 使用Vaadin集成为思维导图创建HTML5组件。您可以使用HTML5画布执行此操作,并将其包装在Vaadin组件中很简单,但它需要您使用GWT对组件进行编码。有几个关于如何使用Vaadin和GWT操纵画布的例子。
  • 使用Vaadin集成为思维导图创建一个SVG组件。据我所知,SVG支持比Canvas更好的交互式东西,并且有关于如何使用GWT和Vaadin与SVG交互的示例。请注意,对于较旧的IE版本,缺乏对SVG的支持。

所有这些选项都可以在您的时间范围内实施(取决于您想要的额外功能)。第一种选择是迄今为止最容易做到的,但它可能不够满足您的要求。

我们努力让Vaadin尽可能容易学习和使用,我敢说our documentation非常好。此外,我们有一个非常活跃的社区,里面有很多有用的专家如果您需要有关Vaadin的更多信息,请访问我们的forums,我们会帮助您。