javafx窗体程序_JavaFX实际应用程序:SkedPal

javafx窗体程序

“真实世界的应用程序”系列中的一个新条目。 这次是SkedPal ,这是一个用于智能管理忙人生活的应用程序。 我一直在咨询SkedPal团队有关JavaFX的事务,并且在他们决定开始使用我的CalendarFX框架来满足他们的日历要求时,我也在咨询他们。 在下面,您可以看到此有吸引力的应用程序的几个屏幕截图。 如果您想自己尝试一下,则只需在SkedPal网站上注册并下载桌面客户端(它们也有移动客户端)。

屏幕截图-2016-04-01-at-10-17-33

screen-shot-2016-04-01-at-11-24-25

screen-shot-2016-04-01-at-11-24-10

我已经请SkedPal的首席执行官Saied ArBabian回答了几个有关其产品,开发以及(当然)他们对JavaFX的使用和想法的问题。

一般的问题

您的产品/项目的名称是什么?

SkedPal

您的用户/客户是谁?

SkedPal是可公开下载的应用程序,适用于需要安排工作以更好地管理自己的时间的忙碌的专业人员。

您的软件的目的是什么? 有什么好处?

SkedPal的主要目标是通过智能地安排所有工作来协助忙碌的专业人员按时交付项目。 它是基于SOA云的应用程序,其中包括云中的Narrow AI调度引擎,用于桌面的JavaFX客户端和iOS配套应用程序。

该应用程序可以运行吗? 如果是的话,从什么时候开始。 如果不是,您打算什么时候上线?

自2014年以来,我们一直处于公开Beta版。我们正​​进入第3个关键点,并且越来越接近用户的最佳位置。

发展历程

您是如何将必要的JavaFX专有技术带入您的团队的? (顾问,内部/外部培训课程)?

团队熟悉Swing,并且很快就可以使用JavaFX来交付第一个版本。 培训过程是内部的。

您是从哪个版本的JavaFX开始的? 一二八

从版本2开始。

您何时开始开发该应用程序,它花了多长时间?

到目前为止,我们已经发布了两个版本,而我们处于第三个版本的中间。 我们从2013年底开始,并于2014年10月发布了第一个版本。第二个版本于2015年6月发布。

有多少开发人员从事此工作? 总体上和在用户界面上。

共有5个开发人员。 2只在用户界面上。

应用程序有多大? 代码行,类数。

代码行数:132,000,分类号:860

JavaFX客户端有多大? 代码行,类数。

码数:76,000,分类号:548

您为什么选择JavaFX作为前端技术? 非常重要的一点:为什么不选择HTML / Web?

我们团队的经验主要是在Java中,因此为了立即开始交付前端应用程序,选择JavaFX是一个自然的决定。 事后看来,一个强大HTML / Web开发人员社区可能会提供巨大帮助。

说服决策者同意JavaFX难吗?

不,与在企业环境中相比,在初创企业中做出决策的速度更快,更容易。

您在JavaFX部分面临的最大挑战/问题/问题/错误是什么,您如何解决它们?

JavaFX的高内存消耗对我们尤其是一个麻烦领域。 解决该问题的唯一方法是在下一个迭代设计中考虑性能约束,并将设计限制在可行范围内。

您使用了哪些第三方产品/框架/工具(开源和商业),为什么选择它们?

最初,我们使用基于Swing代码的MiG Java日历,然后由于其更好的UI设计和JavaFX而不是Swing的使用而切换到CalendarFX 。 我们开发了自己的MVVM框架来支持面向服务的体系结构。 事实证明,这是一个庞大的项目,我们可能会在某个时候将其开源,从而为JavaFX开发人员社区做出贡献。

您是否混合了JavaFX和Swing代码?

当我们使用MiG Java日历时,最初是。

外表

您会在下一个项目中再次使用JavaFX吗? 请详细说明原因或原因。
您对其他公司/项目的JavaFX有哪些建议?

从团队多年的经验以及开发复杂的MVVM框架的角度来看,我们已经对JavaFX技术进行了重大投资。 这是使用JavaFX的强烈理由。 另一方面,我们真的很羡慕网络应用程序中强大的开发人员社区,我们可以看到一旦您访问具有大量开源代码组合的此类社区,开发将变得多么Swift。

此外,当我们的用户不选择将其客户端更新为最新版本时,我们还将面临严重的问题。 与基于Web的应用程序相比,为Internet用户分发JavaFX应用程序更具挑战性。

您希望将哪些功能添加到JavaFX?

我们希望看到更好的性能(速度和内存)。

您打算提供应用程序的移动版本还是移动附件?

我们已经有一个本机(目标C)iOS应用程序集成到我们的SOA架构中。 在我们的MVVM框架中,移动应用程序和JavaFX桌面应用程序可以很好地协同工作。

翻译自: https://www.javacodegeeks.com/2016/07/javafx-real-world-apps-skedpal.html

javafx窗体程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kafka 发布订阅_在Kafka中发布订阅模型

kafka 发布订阅这是第四个柱中的一系列关于同步客户端集成与异步系统( 1, 2, 3 )。 在这里,我们将尝试了解Kafka的工作方式,以便正确利用其发布-订阅实现。 卡夫卡概念 根据官方文件 : Kafka是…

apache camel_使用Apache Camel进行负载平衡

apache camel在此示例中,我们将向您展示如何使用Apache Camel作为系统的负载平衡器。 在计算机世界中,负载平衡器是一种充当反向代理并在许多服务器之间分配网络或应用程序流量的设备。 负载平衡器用于增加容量(并发用户)和应用程…

lombok 自动使用_Lombok,自动值和不可变项

lombok 自动使用我喜欢布兰登(Brandon )在博客文章中比较Project Lombok , AutoValue和Immutables的建议 ,而这篇文章试图做到这一点。 我已经简要概述了Project Lombok , AutoValue和Immutables ,但是这篇…

邮箱批量登录接验证码_记一次莫名的需求(临时邮箱|企业邮箱)

目录:前言行情伪需求过程1.前戏2.买域名3.网易企业邮箱4.模糊的需求5.晚饭后6.临时邮箱16.临时邮箱27.域名版临时邮箱8.遇见问题8.1.DNSPOD8.2.换种思路拓展1.思路2.后续2.1.简单2.2.自建临时邮箱后话记一次需求不明的亏看完这篇文章你会学到: 免费企业邮…

java 补充日期_Java 9对可选的补充

java 补充日期哇&#xff0c;人们真的对Java 9对Stream API的添加感兴趣。 想要更多&#xff1f; 让我们看一下…… 可选的 可选::流 无需解释&#xff1a; Stream<T> stream();想到的第一个词是&#xff1a; 终于 &#xff01; 最后&#xff0c;我们可以轻松地从可选…

【Python科学计算系列】行列式

1.二元线性方程组求解 import numpy as np a np.array([[3, -2], [2, 1]]) b np.array([12, 1]) d np.linalg.solve(a, b) print(d) 2.三阶行列式求值 import numpy as np a np.array([[1, 2, -4], [-2, 2, 1], [-3, 4, -2]]) d np.linalg.det(a) print(d) 3.行列式的余…

【Python科学计算系列】矩阵

1.矩阵的幂计算&#xff08;设计思想&#xff1a;递归&#xff09; #!/usr/bin/env python # -*- coding: utf-8 -*- import numpy as np def matrixPow(Matrix,n):if(type(Matrix)list):Matrixnp.array(Matrix)if(n1):return Matrixelse:return np.matmul(Matrix,matrixPow(…

swarm 本地管理远程_带有WildFly Swarm的远程JMS

swarm 本地管理远程我再次在博客中谈论WildFly群&#xff1f; 简短的版本是&#xff1a;我需要对远程JMS访问进行测试&#xff0c;并且拒绝设置复杂的功能&#xff08;如完整的应用程序服务器&#xff09;。 这个想法是要有一个简单的WildFly Swarm应用程序&#xff0c;该应用程…

java解码_Java数组已排序解码

java解码排序是我们在计算机科学中学习的第一个算法。 排序是一个非常有趣的领域&#xff0c;它有大约20多种算法&#xff0c;而且总是很难确定哪种算法最好。 排序算法的效率是根据占用的时间和所需的空间来衡量的。 一些时间气泡排序是最好的&#xff0c;因为它没有空间需求&…

【数论系列】反函数

一、判断反函数是否存在&#xff1a; 由反函数存在定理&#xff1a;严格单调函数必定有严格单调的反函数&#xff0c;并且二者单调性相同&#xff1a; 1、先判读这个函数是否为单调函数&#xff0c;若非单调函数&#xff0c;则其反函数不存在。 设yf(x)的定义域为D&#xff…

java附加属性_Java 9附加流

java附加属性Java 9即将发布&#xff01; 它不仅仅是Jigsaw项目 。 &#xff08;我也很惊讶。&#xff09;它给平台带来了很多小的变化&#xff0c;我想一一看一下。 我将标记所有这些帖子&#xff0c;您可以在这里找到它们。 让我们从…开始 流 Streams学习了两个新技巧。 第…

envi最大似然分类_闲谈最大后验概率估计(MAP estimate)amp;极大似然估计(MLE)和机器学习中的误差分类...

上一篇文章中提到了一个有趣的实验&#xff0c;简单来说就是1-100中有若干个数字是“正确的”&#xff0c;只告诉其中一部分“正确的”数字&#xff0c;去猜全部“正确的”数字。为了严谨的去研究这个问题&#xff0c;我们需要将一些概念进行抽象。首先&#xff0c;把提前告知的…

html 完全复制div中的内容_LOL手游现在远非完全体,未来还有哪些端游内容会加入手游中?...

LOL手游上线已经有一段时间了&#xff0c;虽然绝大多数情况下LOL端游的内容被继承到了手游当中&#xff0c;但是仍然有一部分端游的内容尚未出现在手游之内。今天小编就带领大家来盘点一下&#xff0c;那些未来可能出现在手游当中的端游内容。排位赛ban选英雄机制Moba游戏排位赛…

光盘 机密_使用保险柜管理机密

光盘 机密您如何存储秘密&#xff1f; 密码&#xff0c;API密钥&#xff0c;安全令牌和机密数据属于秘密类别。 那是不应该存在的数据。 在容易猜测的位置&#xff0c;不得以纯文本格式提供。 实际上&#xff0c;不得在任何位置以明文形式存储它。 可以使用Spring Cloud Confi…

junit5 动态测试_JUnit 5 –动态测试

junit5 动态测试在定义测试时&#xff0c;JUnit 4有一个很大的弱点&#xff1a;它必须在编译时发生。 现在&#xff0c;JUnit 5将解决此问题&#xff01; Milestone 1 刚刚发布 &#xff0c;它带有全新的动态测试&#xff0c;可以在运行时创建测试。 总览 本系列中有关JUnit 5…

C++ 11 深度学习(十)原始字面量

你是否曾经为了各种json格式无法写入string中而烦恼&#xff0c;为了各种转义而烦恼。如下图 c11为我们带来了全新的解决方法 其新特性为使用. R"(xxxxxxxxxxxx)" ,此种形式可以使得以原有形式进行表现出来

交流伺服系统设计指南_交流设计

交流伺服系统设计指南软件设计至关重要。 它是应用程序的基础。 就像蓝图一样&#xff0c;它为所有背景的聚会提供了一个通用平台。 它有助于理解&#xff0c;协作和发展。 设计不应仅视为开发的要素。 它不应该仅仅存在于开发人员的脑海中&#xff0c;否则团队将发现它几乎无…

maven 父maven_Maven神秘化

maven 父maven由于我的Android开发的背景下&#xff0c;我比较习惯到Gradle &#xff0c;而不是Maven的 。 尽管我知道Gradle基于Maven&#xff0c;但我从未调查过幕后发生的事情。 在过去的一周中&#xff0c;我一直在尝试了解细节并找出Maven的不同组成部分。 什么是Maven M…

【WebRTC---序篇】(一)为什么要使用WebRTC

1.1.1自研直播客户端架构 一个最简单的直播客户端至少应该包括音视频采集模块,音视频编码模块,网络传输模块,音视频解码模块和音视频渲染模块五大部分。如下图所示 1.1.2拆分音视频模块 在实际开发中,音频和视频处理完全是独立的。如下图所示,经过细分后,音频采集与视频…

DFS深搜与BFS广搜专题

一般搜索算法的流程框架 DFS和BFS与一般搜索流程的关系 如果一般搜索算法流程4使用的是stack栈结构(先进后出&#xff0c;后进先出)那么就会越搜越深。即&#xff0c;DFS&#xff0c;DFS只保存当前一条路径&#xff0c;其目的是枚举出所有可能性。反之&#xff0c;如果流程4使…