我目前正在我的工作场所讨论遗留 Java Swing应用程序与d3.js图形的最终输出之间的接口设计.当前的应用程序是一个桌面统计探索工具,使用Java2d解析数据并输出图形.应用程序正在转换为具有Web前端的服务器/客户端应用程序.

目前,图形逻辑与Java2d代码紧密耦合.虽然在技术上是Wilkonson的图形语法的实现,但是图形树中的每个组件都呈现给java组件.

我建议重构图形系统以输出图形的结构化规范(json,xml,无论如何),然后可以将其传递给消费者(前端Web,ipad等)以进行实际的解析和渲染.这会将图形结构与实际渲染分离,理论上允许在任何客户端库或渲染格式中使用相同的输出/蓝图,无论是d3.js,three.js,svg / canvas / webgl,还是本机码.

这似乎对我有直观的意义,但我的同事非常反对这个想法.相反,他们建议调整系统以在服务器端生成d3 javascript代码,客户端将直接使用该代码.这将需要在每个图形的基础上实现所有图形设置代码(理论上使用一些模板引擎有条件地在结果html中包括js).我们的结果将直接与d3本身联系在一起.他们说好处是客户端不必做任何事情来渲染图形输出.

我在这里错过了什么吗?从长远来看,后一种方法是否更为可取?或者我是否正在使用以前的设计?在生成javascript方法中我应该考虑一些好处吗?或者,我应该如何构建我的论点,支持序列化的图形规范,以便让更多的人加入我的设计?

解决方法

Gopherkhan,

由于我的知识有限,您的解决方案似乎更通用.
你不能做你的,然后在本地运行客户端,抓住d3 javascript并将其输出到服务器.即两者都是串联的,你的方法的初始输出作为中间阶段.

额外的开发时间可能是他们提出建议的原因,因此您可能必须能够证明这不会花费更长时间并且将提供额外的好处.

最好的祝福,

VeryTidyBoy

界面设计:将Java图形序列化为D3.js的更多相关文章

  1. WPF是用户界面设计的未来吗?我现在应该学习吗?

    关于WPF这样的话已经有很多话题.我想知道WPF是否会成为图形交互式用户界面设计的新标准.这是我们在Windows界面方面的目标吗?真的会像每个人都说的那样起飞吗?

  2. Delphi XE10让android的界面设计摆脱繁杂

    总结以上是DEVMAX为你收集整理的DelphiXE10让android的界面设计摆脱繁杂全部内容。如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站推荐给好友。

  3. 互联网软件的安装包界面设计-Inno setup

    总结以上是DEVMAX为你收集整理的互联网软件的安装包界面设计-Innosetup全部内容。如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站推荐给好友。

  4. c# – 用户界面设计工具

    我正在寻找一个用户界面设计工具来显示文档中可能的GUI.我不能生成代码.我知道MicrosoftVisio提供了一个功能.但有什么办法吗?您使用哪种软件可视化GUI?

  5. 界面设计:将Java图形序列化为D3.js

    或者我是否正在使用以前的设计?或者,我应该如何构建我的论点,支持序列化的图形规范,以便让更多的人加入我的设计?解决方法Gopherkhan,由于我的知识有限,您的解决方案似乎更通用.你不能做你的,然后在本地运行客户端,抓住d3javascript并将其输出到服务器.即两者都是串联的,你的方法的初始输出作为中间阶段.额外的开发时间可能是他们提出建议的原因,因此您可能必须能够证明这不会花费更长时间并且将提供额外的好处.最好的祝福,VeryTidyBoy

  6. 界面设计器分析

    总结以上是DEVMAX为你收集整理的界面设计器分析全部内容。如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站推荐给好友。

  7. cocos2dx关卡选择界面设计

    重点内容做游戏时候经常用到关卡选择,写了个关卡选择界面逻辑类,关卡解锁,关卡类型显示,打过的关卡星级评定,一共六大关,每个大关10个小关,ui使用cocostudio编辑,代码如下:LevelSel.h文件#ifndef_LEVELSEL_Hdefine_LEVELSEL_Hinclude“cocos2d.h”include“cocos-ext.h”include“global.h”usingna

  8. cocos2d-x lua脚本简单的了解

    之前有学过Cocos2dx,但是后来没用,有些忘了。

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部