"Pylons" 和 "Flex 3" 是两个不同的技术,各自有着不同的背景和应用场景:
Pylons 是一个 Python Web 框架,用于快速开发 Web 应用程序。它强调简单性、灵活性和可扩展性,以便开发人员能够快速构建和部署功能强大的 Web 应用。
Flex 3 是 Adobe 公司推出的一套基于 Flash 平台的 Rich Internet Application(RIA)开发框架。它主要用于创建具有丰富用户界面和交互性的 Web 应用程序。
1、问题背景
有人将 Python/Pylons 用作 Flex 3 应用程序的服务器后端吗?有人对这种方式的运行情况有什么看法?我读了 Bruce Eckel 关于将 Flex 3 与 Twisted 绑定的文章,并且我做过 Twisted 编程,但对于仅仅是一个网络服务,我认为 Pylons 更易于使用。 提前感谢, Doug
2、解决方案
将 Pylons 用作 Flex 3 应用程序的服务器后端是一个好主意。它们都使用 AMF 和 HTTP 协议通信,因此可以轻松地集成在一起。此外,Pylons 是一个易于使用的框架,可以帮助您快速构建 Web 应用程序。
以下是一些有关如何将 Pylons 与 Flex 3 集成的资源:
以下是一个示例代码,它展示了如何使用 Pylons 和 Flex 3 创建一个简单的 Web 应用程序:
from pylons import request, response
from pylons.controllers import Controller
class MainController(Controller):
def index(self):
return "Hello, world!"
# 这里是Endpoint
@response.json
def getData(self):
data = [1, 2, 3, 4, 5]
return data
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:dataProvider="flex.mx.controls.dataProvider">
<fx:Script>
<![CDATA[
// 导入需要用到的类
import mx.collections.ArrayList;
import mx.rpc.AsyncToken;
import mx.rpc.http.HTTPService;
import mx.rpc.events.ResultEvent;
// 创建 ArrayList
private var dataProvider1:ArrayList = new ArrayList();
// 创建 HTTP 服务
private var service:HTTPService = new HTTPService();
// 当加载完成后的事件监听
service.addEventListener(ResultEvent.RESULT, resultHandler);
// 当加载失败的事件处理
service.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
// 当应用程序启动的事件处理
protected function application1_creationCompleteHandler(event:Event):void
{
// 设置要调用方法的URL
service.url = "http://localhost:5000/getData";
// 调用方法
service.send();
}
// 当加载完成后的事件处理
private function resultHandler(event:ResultEvent):void
{
dataProvider1 = event.result;
}
// 当加载失败后的事件处理
private function ioErrorHandler(event:IOErrorEvent):void
{
// 错误处理
trace("Error loading data: " + event.text);
}
]]>
</fx:Script>
<s:TileList width="100%" height="100%" variable="tileList1" itemRenderer="dataProvider.ListRenderer" dataProvider="{dataProvider1}">
</s:TileList>
</s:Application>
这个示例应用程序将创建一个名为“Hello, world!”的简单消息。当用户加载应用程序时,它将向服务器发送一个请求,服务器将返回一个 JSON 响应。然后,应用程序将使用 JSON 响应更新其 UI。
它们各自在不同领域和用途上有着自己的优势和适用性,选择使用哪个取决于项目的需求和开发团队的技术偏好。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。