文档中心 - 移动云平台介绍 - Sina App Engine
新浪移动云是在SAE基础上的子平台,专注于为移动设备同时提供云+端的能力。为方便开发者使用,移动云直接集成在SAE在线管理平台中。通过新浪移动云,你不但可以开发适用于移动浏览器的WebApp,还可以开发和NativeApp一样可以安装和发布到市场,并通过JS调用设备硬件能力的HybridApp。HybridApp是介于WebApp和NativeApp之间的新形态应用,它为每种移动客户端提供一个Native的壳,这种壳里边包着一个Web应用。借助于壳,Web应用可以被安装,可以被发布到各大市场。同样的,借助于壳和设备之间的通信,壳内的Web应用可以轻松调用设备硬件。目前这类方案中,最知名的是被Adobe收购后捐赠给Apache的开源项目PhoneGap,Facebook,微软,Wikipedia等公司都使用它来开发自己的移动客户端。具体来讲,移动云为大家提供三部分功能:云端Hosting,调试器和打包器。虽然SAE自身就能很好的处理Hosting,但为了更好地支持移动应用,SAE新增了【移动应用】类型。在创建应用的时候,你可以选择【移动应用】类型;已经创建的应用可以在【应用设置】中调整应用类型。移动应用详情页面左侧会出现【移动应用】菜单,这样你就能使用【调试器】和【打包器】了。新创建移动应用时,我们提供了几个常用的代码模板,它们可以帮助开发者更快的构建自己的应用。和互联网Web应用不同,我们强烈推荐开发者将业务逻辑封装为Rest接口,然后通过Ajax,JsonP等方式进行调用。在我们提供的代码模板中,我们将后台的Rest接口放入【server】目录,将所有前端的静态文件和资源放入【client】目录,并通过Appconfig将App的默认请求指向【client】的根目录。这样做的好处可以实现真正的全平台应用:是当用户通过浏览器访问时,【client】目录会正常显示;而当你想提供客户端时,我们直接将【client】目录打包到客户端中运行即可。(在我们的客户端包裹的浏览器中,页面属于Local域,所以不存在服务器端的Ajax跨域问题)如果你不想手工编写Rest接口,可以使用SAE上的可视化Rest接口配置工具:LazyRest。如果你的应用不调用设备的本地能力,使用支持HTML5的浏览器(比如chrome和safari)就可以很好地调试。但是如果你需要调试设备硬件的调用,你会发现每次修改代码都需要进行打包-安装-测试,然后再打包-安装-测试。为了方便开发者,新浪移动云提供了所见即所得的【云窗调试器】。你可以把它看成一个支持本地设备调用的浏览器,当修改云端的代码后,只需要按下刷新按钮,就能立马看到结果。目前云窗调试器提供Android和iOS两个版本,兼容PhoneGap2.0规范。我们还为开发者准备了强大的在线打包器,你再不需要安装编译环境,只需要点击一下按钮,就可以得到想要的客户端安装包。再次强调一点,在选择打包目录的时候一定要选择放置静态文件和资源的【client】目录,因为这部分代码会运行在移动设备上,是不支持PHP等动态脚本的。错误的打包目录不但会导致程序不可用,甚至可能导致PHP代码泄露。