9月7日-8日,相约 2023 腾讯全球数字生态大会!聚焦产业未来发展新趋势! 了解详情
写点什么

Spaz,Adobe AIR 实现的 Twitter 客户端

  • 2007-10-20
  • 本文字数:1186 字

    阅读完需:约 4 分钟

上周, arstechnica.com 采访了 Spaz 的作者 Ed Finkler Spaz 是一个用 Adobe AIR 平台编写的开源的 Twitter 客户端。在采访中,Finkler 讨论了 Spaz,他选择 AIR 平台的原因,以及将 Spaz 升级到最新的 AIR Beta 2 时遇到的一些挑战。

Twitter 是社会网络与博客的结合,让用户通过短信、即时消息和 Email 的方式发送消息。Twitter 迅速拥有了像 Barak Obama 这样的名人用户。Spaz 客户端利用 Twitter 的 API 提供了在桌面上使用 Twitter 的界面。

访问中最有意思的部分是当 Finkler 谈到选择 AIR 平台的原因。Finkler 认为自己主要是一名 Web 设计师和开发者。他全凭兴趣开始了这个项目,以“回味桌面应用开发”。第一版是用 RealBasic 编写的,Finkler 觉得很不满意:

没什么看头,它确实能完成任务(但除此之外没什么值得提的)。

Finkler 形容自己如何克服重重困难,才能在桌面上实现 Web 应用中轻而易举的事情:

我很快就发现在开发桌面应用的时候,有些在 Web 应用中很简单的事情,到了桌面上就变得极其困难。比如要在帖子旁边显示用户的头像就是很大的挑战,因为你不能简单地命令程序“从这个 URL 把图片抓过来”。浏览网页的时候浏览器为你做的繁重工作现在你都要自己一肩挑起来……

种种困难让 Finkler 在几周之后就放弃了,直到他尝试了“Apollo”(Adobe AIR 当时的开发代号)。Finkler 描述了他在构建第一个原型时的情形:

我的第一次实验用的是 AIR Beta 1,那个应用仅仅是加载和显示 Twitter 的公共时间线,每分钟自动刷新。这个实验完成得太轻松了,部分是因为我用了 Adobe 的 Spry JS Framework,用它来从多个来源抓取数据然后显示成 HTML,简直是小菜一碟。这个原型比最早的 Spaz 好看多了,开发速度也快了不知道多少倍。 ……用上 JS 我就驾轻就熟了。AIR 在开发速度和灵活性两方面都是巨大的成功。

Finkler 也提到了 AIR 的一个显著的缺陷。在将 Spaz 与其他 Twitter 客户端相比较的时候,他指出了 AIR 的一个痛处,就是不能原生地与操作系统交互。

Spaz 不容易和 OS X 专有的技术集成(比如与 Growl 集成就没有正常的途径可循),不过 AIR Beta 2 倒是为与 Dock 图标之类的交互开了个口子。

他还详细说明了最近将 Spaz 升级到最新的 AIR 测试版的时候遇到的一些挑战:

最近,我刚把 Spaz 升级到了 AIR Beta 2。版本 0.2.6 虽然只是一个修补兼容性的升级版本,却比我预计的要困难。AIR Beta 2 相比 Beta 1 在 HTML 应用的安全模型上有重大的变动,而这个变动在 Beta 2 公开发布前一两周才加进去。 ……我们现在正忙于 0.2.7,并且希望在几天之后发布 0.2.8。

Spaz 看上去是对 AIR 的完美运用,而 Finkler 使用 AIR 的经验也是正面的。现在已经出现了好些吸引人的 AIR 应用程序,不过我们还期望看看,当遇上要求更强的健壮性的应用,开发者们对 AIR 的观感是否仍然与 Finkler 一致。

查看英文原文: Adobe AIR Application: Spaz - a Twitter Client

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2007-10-20 19:15914
用户头像

发布了 225 篇内容, 共 58.4 次阅读, 收获喜欢 47 次。

关注

评论

发布
暂无评论
发现更多内容

手机影像内卷几时休?

脑极体

简析攻防演练中蓝队的自查内容

穿过生命散发芬芳

6月月更 攻防演练

架构实战营毕业设计

KennyQ

gm

【题解】剑指 Offer 15. 二进制中1的个数(C语言)

未见花闻

6月月更

数据治理啥都干

奔向架构师

数据治理 数据资产 6月月更

给 Angular 服务器端渲染应用设置一个渲染超时时间

Jerry Wang

typescript 前端开发 angular 前端框架 6月月更

一文带你学会consul 基本使用和Docker部署

迷彩

架构 Consul 服务注册与发现 微服务治理 6月月更

Tiger DAO VC产品正式上线,Seektiger生态的有力补充

股市老人

Flutter TextField详解

yechaoa

flutter 6月月更 TextField

分享一些在内网操作的远程办公经验| 社区征文

孙叫兽

远程办公 金融 银行 初夏征文 智能柜台

不到40行代码手撸一个BlocProvider

岛上码农

flutter 前端 移动端开发 安卓开发 6月月更

获取Windows操作系统的语言版本

dvlinker

操作系统语言 UI Language MSDN

使用‘百家饭’自动生成API调用:JS部分进展(二)

百家饭隐私计算平台创业者

js OpenAPI 代码生成

Nginx学习笔记总结:初次认识 Nginx

百思不得小赵

nginx 6月月更

聊聊我的远程工作体验 | 社区征文

Nick

远程办公 初夏征文 高效办公 WLB 在线会议

模块五作业

Elvis FAN

LabVIEW Arduino TCP/IP远程智能家居系统(项目篇—5)

不脱发的程序猿

物联网 传感器 LabVIEW Arduino 远程智能家居系统

Fabric.js 上划线、中划线(删除线)、下划线

德育处主任

JavaScript canvas FabricJS 6月月更

TCP拥塞控制详解 | 1. 概述

俞凡

算法 网络 TCP拥塞控制

亿级月活全民K歌Feed业务在腾讯云MongoDB中的应用及优化实践

杨亚洲(专注MongoDB及高性能中间件)

MySQL 数据库 mongodb 分布式数据库mongodb NoSQL 数据库

利用 Repository 中的方法解决实际问题

Damon

6月月更

物联网协议的王者:MQTT

wljslmz

mqtt 6月月更

Prometheus 2.34.0 新特性

耳东@Erdong

release Prometheus 6月月更

HotSpot JVM 「02」Java Object Layout

Samson

学习笔记 hotspot 6月月更

Tiger DAO VC产品正式上线,Seektiger生态的有力补充

EOSdreamer111

我的第一个Vue项目-Demo

Python研究所

6月月更

国内首款开源 MySQL HTAP 数据库即将发布,三大看点提前告知

StoneDB

MySQL #数据库 #开源

牛客java选择题每日打卡Day3

京与旧铺

6月月更

2022年,中轻度游戏出海路在何方?

Geek_2d6073

基于STM32+华为云IOT设计的云平台监控系统

DS小龙哥

6月月更

# 补齐短板-开源IM项目OpenIM关于初始化/登录/好友接口文档介绍

Geek_1ef48b

  • 扫码添加小助手
    领取最新资料包
Spaz,Adobe AIR实现的Twitter客户端_Java_Jon Rose_InfoQ精选文章