与平台特定语言相比,使用 Adob​​e Air/Java 编写 Web 应用程序的优点/缺点?

2024-01-31

我需要为 Windows 和 Mac(也许还有 Linux)编写一个 Web 应用程序(也可以离线工作)。

我想知道我是否应该使用像air/flash/java 这样的东西,优点是我只需要编写一次应用程序。

然而,我想知道这样做是否有任何缺点,而不是专门用 c# for windows 编写,然后用 Objective-C/cocoa/whatever for mac 编写。如果我在 Air/Java 中执行该应用程序的功能是否会受到限制?使用特定于平台的语言编写它有什么优势吗?

如果可能的话,很高兴知道这两种方法的优点/缺点是什么,因为这将帮助我(也希望其他人)根据自己的需求决定创建此类应用程序的最佳方法。

任何帮助将非常感激!谢谢。


首先要认识到的是,编写在每个目标平台上都具有原生外观和行为的跨平台应用程序是一件很难的事情。

使用跨平台套件(AIR/java):

  • 工作量更少,理论上应该可以更快地构建
  • 通用语言和工具包,只需学一件事
  • 添加新的支持平台应该很容易,构建安装程序,调试提供任何本机平台集成等
  • 有一种趋势是只实现最低公分母功能。 java File api 就是一个例子。它只支持文件的基本概念,而 Windows、OSX 和 linux 都有附加功能
  • 可能仍然需要特定于平台的集成代码(可能是本机的)以获得可接受的集成级别。

使用本机工具包:

  • 有很多东西需要学习,在 Windows MFC(或 .Net winforms)和 Cococa 之间移动将会非常困难
  • 您不仅会拥有不同的语言,还会拥有不同的工具
  • 使用本机工具包可以实现的目标没有限制或虚假上限,让您可以访问所有内容
  • 让您的应用程序看起来像是属于该平台(对于 Mac 来说很重要)几乎是开箱即用的

个人建议:使用您最了解的语言工具包,具体取决于您的应用程序的厚度(您提到它是在线的一部分),一旦您成功申请,您可能可以用另一种语言重写它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与平台特定语言相比,使用 Adob​​e Air/Java 编写 Web 应用程序的优点/缺点? 的相关文章

  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • 检查算术运算中的溢出情况[重复]

    这个问题在这里已经有答案了 可能的重复 检测 C C 中整数溢出的最佳方法 https stackoverflow com questions 199333 best way to detect integer overflow in c
  • 如何在 OSX 上安装 numpy 和 scipy?

    我是 Mac 新手 请耐心等待 我现在使用的是雪豹 10 6 4 我想安装numpy和scipy 所以我从他们的官方网站下载了python2 6 numpy和scipy dmg文件 但是 我在导入 numpy 时遇到问题 Library F
  • 将数据打印到文件

    我已经超载了 lt lt 运算符 使其写入文件并写入控制台 我已经为同一个函数创建了 8 个线程 并且我想输出 hello hi 如果我在无限循环中运行这个线程例程 文件中的o p是 hello hi hello hi hello hi e
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • 如何在Java中正确删除数组[重复]

    这个问题在这里已经有答案了 我刚接触 Java 4 天 从我搜索过的教程来看 讲师们花费了大量精力来解释如何分配二维数组 例如 如下所示 Foo fooArray new Foo 2 3 但我还没有找到任何解释如何删除它们的信息 从内存的情
  • Java:拆箱整数时出现空指针异常?

    此代码导致空指针异常 我不知道为什么 private void setSiblings PhylogenyTree node Color color throws InvalidCellNumberException PhylogenyTr
  • 如何在c#中的内部类中访问外部类的变量[重复]

    这个问题在这里已经有答案了 我有两个类 我需要声明两个类共有的变量 如果是嵌套类 我需要访问内部类中的外部类变量 请给我一个更好的方法来在 C 中做到这一点 示例代码 Class A int a Class B Need to access
  • Mac 上用户“postgres”的密码身份验证失败

    我在创建新的 psql 用户时遇到问题 因为我无法以 postgres 身份登录 psql 我已尝试过 1 sudo u postgres psql 2 sudo u postgres createuser img site P s e 他
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • 获取 2 个数据集 c# 中的差异

    我正在编写一个简短的算法 它必须比较两个数据集 以便可以进一步处理两者之间的差异 我尝试通过合并这两个数据集并将结果更改放入新的数据集来实现此目标 我的方法如下所示 private DataSet ComputateDiff DataSet
  • 将代码拆分为标头/源文件

    我从 Asio 的示例页面中获取了以下代码 class tcp connection public boost enable shared from this
  • Android AutoCompleteTextView 带芯片

    我不确定我是否使用了正确的词语来描述此 UI 功能 但我已附上我希望在我的应用程序中实现的目标的快照 它由 Go SMS 使用 用户在编辑文本中键入联系人 在用户从完成下拉列表中选择联系人后 该联系人将被插入到编辑文本中 如附图所示 编辑文
  • 是否可以有一个 out ParameterExpression?

    我想定义一个 Lambda 表达式out范围 有可能做到吗 下面是我尝试过的 C Net 4 0 控制台应用程序的代码片段 正如您在 procedure25 中看到的 我可以使用 lambda 表达式来定义具有输出参数的委托 但是 当我想使
  • strcmp 给出分段错误[重复]

    这个问题在这里已经有答案了 这是我的代码给出分段错误 include
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • JAXB - 列表<可序列化>?

    我使用 xjc 制作了一些课程 public class MyType XmlElementRefs XmlElementRef name MyInnerType type JAXBElement class required false
  • 使用 CSharpCodeProvider 类编译 C# 7.3 的 C# 编译器版本是什么?

    我想使用 Microsoft CSharp CSharpCodeProvider 类来编译 C 7 3 代码 编译器版本在 IDictionary 中指定 在创建新的 CSharpCodeProvider 时将其作为输入 例如 Compil
  • 匿名结构体作为返回类型

    下面的代码编译得很好VC 19 00 23506 http rextester com GMUP11493 标志 Wall WX Za 与VC 19 10 25109 0 标志 Wall WX Za permissive 这可以在以下位置检

随机推荐

  • AngularFire 更新 -> 哪里

    我在这里找不到东西 我的问题是如何更新 AngularFire 中 WHERE 子句中返回的文档 constructor private db AngularFirestore var path this db collection use
  • Windows 并发 tcp/ip 连接的最大数量是多少?

    在 NET中我已经成功尝试了以下配置
  • 如何修饰类中的方法?

    我试图在类中装饰一个方法 但 python 抛出错误 我的班级是这样的 from pageutils import formatHeader class myPage object def init self self PageName d
  • 有没有办法重命名 Keras 模型的指标和损失?

    我有一个非常大的模型 有很多损失和指标 当我做print np array self model metrics names 我明白了 loss autoencoder loss autoencoder loss autoencoder l
  • 错误类型错误:无法读取未定义的属性“长度”

    我的这部分代码有错误 img src assets gms logo png alt website icon 但是当我检查资产文件夹时 gms logo png仍然在那里并且在angular cli json 资产也在那里 路径也是正确的
  • Android/iOS OpenCV 眼睛扩张检测

    寻找有关 OpenCV 是否可以或已经用于检测 Android 或 iOS 上的眼睛扩张的意见 除了使用 OpenCV 的 EyePhone 应用程序进行眼动追踪和眨眼检测之外 我没有发现太多其他功能 在完美的条件下 我确信这是可能的 我更
  • Bootstrap 3 - 显示所有屏幕尺寸的折叠导航

    我正在使用 Bootstrap v3 我已经设置了导航栏类 这样当我的屏幕大小为移动设备大小时 导航会折叠并出现类似网格的小切换按钮 所以这可以按预期工作 我想要的是 这是所有屏幕尺寸的默认操作 也就是说 即使在桌面上 我也希望导航折叠起来
  • 如何从xslt中的java地图获取数据

    我需要从 XSLT 中的 Java 地图获取数据 我知道使用 xalan 我可以实现它 但我们依赖于通用 Transformer 这迫使我们使用 Saxon HE 我将 java 映射传递给变量并在 XSLT 中获取它 请建议我们如何实现这
  • 清除或重新创建 Ruby on Rails 数据库

    我有一个充满数据的开发 Ruby on Rails 数据库 我想删除所有内容并重建数据库 我正在考虑使用类似的东西 rake db recreate 这可能吗 我知道有两种方法可以做到这一点 这将重置您的数据库并重新加载当前架构 rake
  • 选择全日历中的整周

    我在使用 fullcalendar 插件时遇到了问题 我试图通过单击在月视图中选择整周 然后创建一个事件 换句话说 如果您单击特定周中的任何一天 该周将突出显示并创建一个事件 此后 该事件应输入我的数据库中 这是我到目前为止所拥有的
  • (w)ifstream 支持不同的编码吗

    当我使用 wifstream 将文本文件读取为宽字符串 std wstring 时 流实现是否支持不同的编码 即它可以用于读取例如ASCII UTF 8 和 UTF 16 文件 如果没有 我该怎么办 我需要阅读整个文件 如果这有影响的话 C
  • 空响应和未找到响应的 HTTP 状态代码

    我们正在实现基于 REST 的 Web 服务 并且对某些用例有一些疑问 考虑有一个唯一的帐户 其中包含一些信息 例如添加到购物车信息 如果不存在购物车信息 我们应该返回什么响应代码 例如 0 我们的理解是返回 200 并返回空响应 用户将购
  • assertj:比较 dto 和实体类之间的字段

    我需要比较一个DTO类及其Entity class 例如 一个AddressDTO类将是 Setter Getter NoArgsConstructor AllArgsConstructor public class AddressDTO
  • React CRA with CSP:拒绝执行内联脚本

    我已经使用以下方式建立了一个新网站Material UI 创建 React 模板 https github com mui org material ui tree master examples create react app 我添加了
  • agrep:只返回最佳匹配

    我在 R 中使用 agrep 函数 它返回匹配向量 我想要一个类似于 agrep 的函数 它只返回最佳匹配 或者如果存在平局则返回最佳匹配 目前 我正在对结果向量的每个元素使用 cba 包中的 sdist 函数来执行此操作 但这似乎非常多余
  • 在 IntelliJ 中的弹出 JavaDoc 上隐藏 JetBrains 注释

    有没有办法隐藏或turn off those 可用推断注释当我从方法中阅读弹出文档时 如下图所示 IntelliJ IDEA 中没有设置可以禁用它 I ve 提交了请求 https youtrack jetbrains com issue
  • 在 Elastic Beanstalk 上部署 NestJS 应用程序

    我正在尝试将我的 NestJS 应用程序部署到 AWS elastic beanstalk 但没有取得任何成功 有人可以一步步写下我如何实现这一目标吗 完整解释 我有一个带有 typeorm 的 Nestjs 应用程序 但没有将其配置为与
  • 什么允许匿名无参数委托类型不同?

    已读入 作为 C 3 0 中的委托和 Lambda 表达式 系列文章的一部分 短语 高级主题 无参数匿名方法 匿名方法可以省略参数列表 delegate return Console ReadLine 例如 这是非典型的 但确实如此允许相同
  • RSelenium 与 Tor 在 Windows 上具有新的 RSelenium 版本

    我发现 jdarrison 关于如何使用 Tor 启动这个很棒的答案RSelenium在窗户上 https stackoverflow com a 39048970 7837376 https stackoverflow com a 390
  • 与平台特定语言相比,使用 Adob​​e Air/Java 编写 Web 应用程序的优点/缺点?

    我需要为 Windows 和 Mac 也许还有 Linux 编写一个 Web 应用程序 也可以离线工作 我想知道我是否应该使用像air flash java 这样的东西 优点是我只需要编写一次应用程序 然而 我想知道这样做是否有任何缺点 而