使用adobe flex web和桌面应用程序

我需要使用flex开发一个应用程序。要求是开发Web应用程序和桌面应用程序。我需要为此应用程序使用数据库。我了解到有一个可用于空中应用的本地数据库。 我不想最终编写两个应用程序,因此希望尽可能多地重用代码。 所以,这是我的计划: 做一个图书馆项目。 写一个类似于httpservice的类,用于在空中与本地数据库进行交互。 中间层负责调用正确的服务(httpservice或自定义服务)。 UI仅与上述中间层交互以用于数据。 任何人都可以建议这是可行的还是可以分享他们以前的经验或有任何其他想法?     
已邀请:
你的方法是正确的。您需要创建希望应用程序与之通信的服务的抽象,然后提供2种不同的实现:1用于Web应用程序,可能使用通过AMF,Web服务或http服务进行远程处理,1用于桌面应用程序,这将是有一个SQLite实现。 这种方法基本上是策略模式的实现,它是Spring ActionScript框架中的核心模式。包括一个Operation API,它将帮助您为服务类创建接口,因为它们将具有异步签名。好处是,还支持创建存根服务实现,因此您可以在不依赖Web或桌面客户端的实际实现的情况下测试应用程序。该框架还提供了不同的配置机制,以便您可以部署应用程序并提供必须在运行时使用的策略。 我在Spring ActionScript上做了一个演讲,我在其中讨论了Operation API:http://parleys.com/#sl=25&st=5&id=1566 在代码中,您的服务代码可能是这样的:
// interface
public interface IUserService {
  function getUserByID(id:String):IOperation;
}

// implementation A
public class UserServiceA implements IUserService {
  public function getUserByID(id:String):IOperation {
    // return implementation specific operation
  }
}

// implementation B
public class UserServiceB implements IUserService {
  public function getUserByID(id:String):IOperation {
    // return implementation specific operation
  }
}
最终结果是您的应用程序与IUserService进行通信,并且对实际实现一无所知。可以在Spring ActionScript容器中配置和管理实现,并自动为您注入。     
这是一个好的开始。您还需要隔离平台相关代码。 有关详细信息,请参阅此帖 Web应用程序中的File()FileStream     

要回复问题请先登录注册