我刚刚听说我工作的公司可能会引入Pyxis Mobile应用程序开发系统。当我谷歌时,我发现的大部分内容都来自公司的网站,从极客的角度来看,这并不是很有用。任何人都可以了解它是什么类型的编程环境以及涉及的编程语言(请让基于文本的语言)。任何其他信息都会很棒。
注意:公司/产品在1月份更名为Verivo。
答案 0 :(得分:6)
完全披露 - 我在Pyxis Mobile担任工程师。但是,我已经在移动领域工作了7年多,并且已经评估了几种移动方法,所以希望这很有帮助。
Pyxis Mobile提供了一套工具和组件来构建跨平台移动应用程序。我先来概述一下。
<强> 1。 Application Studio - 所有应用程序开发,后端集成,用户配置和应用程序维护/调试都在此工具中完成。 Application Studio(现在)是一个基于Windows的桌面应用程序。
<强> 2。应用程序客户端 - Pyxis Mobile为iPhone,iPad,BlackBerry和Android设备提供本机客户端运行时。这些运行时通过构建服务为客户打上品牌,并准备指向特定的Application Server URL。
第3。 Application Server - Pyxis Mobile App Server在.NET堆栈上运行(在IIS上)。所有客户端通信都通过此服务器进行代理。该服务器能够连接到各种后端系统(通过下面列出的插件框架),并以移动优化的方式响应客户端。此服务器需要SQL Server(2005或更高版本)才能进行配置访问,会话管理,日志记录等。
<强> 4。插件框架 - 插件框架是一个后端组件,提供对几个企业和基于云的系统(Oracle,Siebel,SAP,Salesforce.com,社交订阅源,REST / SOAP Web服务)的系统特定的预构建访问等等,并提供.NET和Python(使用IronPython)的API层,以允许进一步的自定义。插件基本上由一个或多个DLL或Python文件组成。然后动态加载这些资产,以规范Pyxis Mobile与客户后端系统之间的通信。
<强> 5。推送服务 - 这提供了一个跨平台推送层,可以轮询后端系统进行更改,并通过BlackBerry Push,Apple推送通知服务(APNS)或Android的Cloud to Deice Messaging(C2DM)向移动设备发出警报。
<强> 6。 OverWatch Analytics - 这是一个可选(但包含在内)的组件,用于跟踪用户/设备,并提供有关用户使用内容以及用户组成的设备和区域设置的集成分析。
应用程序本身通过在App Studio中构建的配置进行“编码”。 Pyxis Mobile从代码中抽象出来,这样您就可以在更高的层次上工作,而不必担心各种设备差异(GPS,触摸屏,相机,加速计,推,屏幕分辨率等)。您可以通过菜单或按钮将字段拖动到from,connect屏幕,在此图形实用程序中设置缓存规则等。此配置(基本上是类似XML的文档)由本机客户端层解释,以生成丰富的应用程序。 Lua中还有一个脚本层,允许通过代码真正自定义行为。
当您进行更改时,Pyxis Mobile的真正价值就出现了。客户端在应用启动时检查新配置,或者服务器是否强制客户端获取新配置。这为您提供了极大的灵活性。可以说,一旦部署了您的应用程序,您就需要开始使用滑动手势来通过一组记录进入下一个/上一个。在其他平台上进行此更改意味着编写一些特定于平台的代码来捕获和解释滑动以执行导航(您无法在非触摸屏上捕获滑动)。但是,在Pyxis Mobile中,这是一个简单的配置更改,可以快速部署到App Server,客户端自动下载并使用新配置。最终用户无需编译,无需重新部署或重新下载。
我可以坚持下去,但希望这能提供一定程度的指导。
答案 1 :(得分:5)
谨防Pyxis Mobile。虽然他们说的许多事情都有效,但我遇到了一些严重的平台问题(作为一个极客)。
1)没有版本控制系统进程。 Application studio基本上只能由一个人一次开发,否则您可能会被同事开发者覆盖您的更改。 “最后拯救的原则”非常重要。
2)没有单元测试覆盖率。对于很多人来说,这不是最大的问题,但对于想要在企业界工作的人来说,这是一个值得关注的问题。
3)中间件服务器可以获得一些价值,但它也是一个可以使用的PITA。除非您将中间件服务器视为客户端,否则不存在“客户端存储”的概念。如果您的手机超出保险范围,您的应用将无法使用。同样,这对您来说可能不是问题。
4)应用程序没有真正的脚本语言可供使用。中间件服务器允许您拦截请求和响应并修改您在那里做的事情,但考虑到本机应用程序可以有一些简单的“如果然后X其他Y”,这不是最优雅的解决方案。这可以通过Pyxis来完成,但整个过程比人们想象的要复杂和复杂。
5)缺乏文件。有一些培训指南,GUI很容易绕过简单的应用程序;但是,当你需要做一些有胆量的事情时,你就会依赖于Pyxis的专业服务。实际上没有开发者社区提出问题。
我有更多的抱怨,但他们更注重舆论导向。
答案 2 :(得分:1)
我刚才注意到最近的评论。我不想把它变成一个来回的线程,但确实想要抛出几个快速笔记。
关于版本控制和文档/开发人员社区的要点 - 那里没有大的竞争。我们肯定在研究这些缺点。我们有一些基本的部分,但我们有很大的计划专注于此。
关于单元测试 - 我们为中间件和后端组件提供了一个非常开放的接口,并且可以通过一些仪器非常容易地进行单元测试。我们在内部进行了大量的单元和集成测试。但是,移动设备测试极难做到。我们将进一步调查此事。
关于中间件和离线功能的#4 - 现在情况有很多不同。随着版本7.1,7.2和7.3的推出,我们的产品越来越多地脱机,现在可以根据需要提供安全的本地数据库。我可以根据需要提供更多详细信息,但即使您一次不在保险范围内,您也可以登录并操作应用程序!
关于#5,我们有一个超过2年的脚本引擎。它的Lua基础和它实际上相当强大和快速。直到最近发布的版本才是黑莓手机。考虑到Apple允许编写脚本change of stance,我们现在允许在BlackBerry,iPad,iPhone和Android上编写脚本!