Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# .NET Document Based Application manipulating Diagrams

I would like to develop a new application in which the user might have the ability to create diagrams that depict processes. I think in this case a document based application is the only option that I have. I am familiar with C# .net, C++ MFC and J2EE.

From your experience, which is the best way to accomplish this and which platform should I focus on?

Diagrams must consist of boxes and arrow connections. More or less something like EPC diagram in Visio with the difference being that while a process is running, the diagram must present the progress with some visual effects. For instance flashing boxes or changing the color of arrows.

I know that it is not very clear but if anyone could help I would be very thankful.

Thank you in advance

like image 991
SWE Avatar asked Nov 18 '11 17:11

SWE


1 Answers

There are lots of diagramming options in both Java and .NET. I think it depends on what you are wanting to achieve as to which one is better. If you wanted to keep your main application MFC you could try this: http://weblogs.thinktecture.com/cnagel/2010/04/mfc-and-wpf-interop.html .

I would recommend reconsidering MFC or at least hybridizing it as Windows 8 sounds like it might drop or emulate win32, since its aiming to be multi architectured. (I have no confirmation of this, and am not affilated with Microsoft, but startegically I think it is a safer bet to pick something more likely to get continued support.).

For Java:

  1. A mainstream java library http://www.jgraph.com/jgraph.html
  2. A list of many libraries http://www.manageability.org/blog/stuff/open-source-structured-graphics-libraries-in-java
  3. http://www.piccolo2d.org/

For .NET:

  1. Pure WPF. (see this Free open source example: http://www.codeproject.com/KB/WPF/WPFDiagramDesigner_Part4.aspx). As others have mentioned this is a very strong candidate. 2 Windows Workflow designer (this can be rehosted and I chose this for something I was doing. It is very very flexible and powerful. Probably overkill unless you want executable diagrams. If interested see: .net 4 update 1's StateMachine diagram type).
    1. A paid, high performance option: http://visualizationtools.net/default/large-diagrams/

I would recommend the Pure WPF approach, however, I am bias towards WPF. Have you considered javascript diagramming options? This could be an option that is easy to integrate with anything and would be the most likely to be somewhat future proof in terms of the technolgies future.

like image 175
Dessus Avatar answered Sep 30 '22 01:09

Dessus