Javascript 移动/桌面-什么策略有意义

Javascript 移动/桌面-什么策略有意义,javascript,html,mobile,occasionallyconnected,Javascript,Html,Mobile,Occasionallyconnected,我的老板有远大的梦想 他想写一个在桌面和移动设备上运行的应用程序。此外,他希望它偶尔连接(可以在没有互联网连接的情况下运行)。应用程序将严重依赖数据库中的数据 与他交谈的每个人都在不断地向他推销HTML5/JavaScript,以获得一个“一次编写,到处运行”(write-once-run everywhere,ish)的解决方案 我对这种环境没有太多经验——使用JavaScript、针对JavaScript的ORMs等从数据库获取数据。我可能有点过头了 当我试图通过一个策略来尽可能接近他的目标

我的老板有远大的梦想

他想写一个在桌面和移动设备上运行的应用程序。此外,他希望它偶尔连接(可以在没有互联网连接的情况下运行)。应用程序将严重依赖数据库中的数据

与他交谈的每个人都在不断地向他推销HTML5/JavaScript,以获得一个“一次编写,到处运行”(write-once-run everywhere,ish)的解决方案

我对这种环境没有太多经验——使用JavaScript、针对JavaScript的ORMs等从数据库获取数据。我可能有点过头了

当我试图通过一个策略来尽可能接近他的目标时,我应该考虑什么样的事情?以下是我的假设和问题:

期望/假设

  • 我希望我将不得不使用一个“嵌入式”或本地数据库,它似乎是随着HTML5和本地存储而兴起的
  • 我希望我还必须找到某种方法来将这些数据与某个服务器上的数据同步
  • 我预计这些数据的同步将不得不在家里进行
  • 我希望有某种ORM,使处理数据更容易
  • 我希望遇到与本地数据库大小相关的各种奇怪的事情
  • 我希望必须在客户端运行应用程序的所有代码,因为它们应该能够在没有internet连接的情况下运行应用程序
  • 问题

    我在干什么

    我有点不知所措,甚至不知道从哪里开始

    要将此转化为有可能得到正确/错误答案的信息,以下是一些有助于了解的信息:

  • HTML5/JavaScript方法听起来像是一个好方法吗(考虑到偶尔连接、移动和桌面的目标)
  • 我应该考虑什么样的框架和工具来简化应用程序的开发
  • 他要求太多了吗
  • 提前感谢您提供的任何建议/指导

    按请求:应用程序做什么? 该应用程序(或多或少)是可配置产品的报价/定价应用程序。有一系列产品(基座柜、壁柜等)、一系列标准配置选项(木材、饰面、门样式)和一系列(不太标准的)修改(减少深度、增加高度等)

    根据您选择的标准可配置选项,它会更改每个产品的基本价格。然后,您可以向它们添加修改(这也是有代价的)

    大多数应用程序已经存在(尽管是作为没有本地存储数据的WPF应用程序)。它的设计目的是将其销售给制造这些可配置物品(主要是橱柜等)的不同制造商。每个制造商都有自己的规则,关于他们提供什么样的木材/饰面/等,以及他们如何确定产品的基本价格(价格也各不相同),以及如何混合/匹配不同的木材/饰面等

    诸如此类,诸如此类,每个制造商都是独一无二的

    为了解决这个问题,我们创建了一种基于公式的方法,一旦您设置了他们的产品/选项/等,您就可以编写一些公式来定义它们之间的关系,以及如何定价

    在我们当前的模型中,应用程序在用户的PC上运行,数据在应用程序调用的web服务器上。他想把整个东西变成一个偶尔连接的移动应用程序,我们也可以在台式机上使用

    有相当多的数据与之相关,因为任何制造商的数据都将包含图像、说明、注释、数千种产品/修改以及关于它们的大量信息(宽度、高度、深度、门数等)

  • HTML5/JavaScript方法听起来像是一个好方法吗(考虑到偶尔连接、移动和桌面的目标)?
    • 对。JavaScript可能是实现这一点的方法,但是如果您还不熟悉JavaScript,那么这并不容易。大型应用程序是JavaScript中的一个猛兽,尤其是在移动设备上
    • 我对客户端数据库存储知之甚少,但保持服务器和客户端数据库同步几乎肯定需要AJAX、XML或JSON转换
    • 考虑客户机上数据的安全性和大小(客户机是否可以访问其机器上存储的所有数据?)
  • 我应该考虑什么样的框架和工具来简化应用程序的开发?
    • 我将jQuery用于所有DOM操作、事件挂钩和AJAX。此外,我还为其他人使用了许多其他功能/插件。我强烈建议你去看看
    • 萤火虫(
    • HTML5/JavaScript方法听起来像是一个好方法吗(考虑到偶尔连接、移动和桌面的目标)?
      • 是的。JavaScript可能是实现这一点的方法,但是如果你还不熟悉JavaScript,那就不容易了。大型应用程序是JavaScript的猛兽,尤其是在移动设备上
      • 我对客户端数据库存储知之甚少,但保持服务器和客户端数据库同步几乎肯定需要AJAX、XML或JSON转换
      • 考虑客户机上数据的安全性和大小(客户机是否可以访问其机器上存储的所有数据?)
    • 我应该考虑什么样的框架和工具来简化应用程序的开发?
      • 我使用jQuery进行所有DOM操作、事件挂钩和AJAX。此外,我还使用了许多其他功能/插件进行其他思考。我强烈建议大家看看它
      • Firebug(感谢您的反馈!