7

好的,所以我昨天为办公室买了一个 46 英寸的屏幕,并且面临被指控设置“精心策划的世界杯拖延计划”的风险迫在眉睫,我最好向我的同事展示它的含义;)

看看我的简单草图,以及这些让我受到启发的伟大 项目,我想在以下方面获得一些意见:

  1. 骨架的伪代码:由于某些方法应该每 24 小时调用一次(“标题中的今天的日期”),而另一些方法则每隔 60 秒调用一次(“Twitter 结果”),那么使用 JavaScript (jQuery) 和 PHP 的好方法是什么?

    编辑:Alsciende:我同意#1 和#8 太模糊了。因此,我删除了#8 并试图澄清#1:使用“骨架的伪代码”,我的意思是这可以完全使用 JavaScript 计时器完成吗?你将如何设置各种计时器?

  2. Google Analytics 库:哪些库支持 Google Analytics API 并可以生成整洁的图表。最好是 HTML5,基于 JavaScript,如Protovis

  3. Twitter 库:您会推荐哪些库来从个人资料中获取 Twitter 搜索结果和最新推文。

  4. 排版/CSS/HTML5 库:尝试在此过程中学习一些 HTML5 等,请对可能相关的任何其他排版/css 库提出建议。

  5. 抓取/解析?我给你举个具体的例子:试图从这家餐厅的网站上获取今天的菜单,你会怎么做?(它是瑞典语 - 但你明白了 - 抱歉;))

  6. 实时统计?我正在使用 WordPress 的 WassUp 插件来跟踪我们网站上的实时访问者。其他日志软件(AWStats 等)可能也安装在网络服务器上。关于如何从中提取信息并在仪表板上实时呈现的任何想法?

  7. 浏览器的选择?您会选择哪种浏览器和操作系统?稳定,全屏,HTML5。

替代文字 http://www.freeimagehosting.net/uploads/cb7af2ef28.png

4

2 回答 2

3

我已经为我们的办公室构建了一个类似于您所说的仪表板。我花了大约一天的时间来研究它,可能性真的(几乎)无穷无尽。基本上,我通过 PHP 处理的所有计算内容并对适当的 PHP 脚本执行间隔 AJAX 调用,该脚本返回 JSON 数据以呈现。

#2: 对于图表,我使用/推荐 flot ( http://code.google.com/p/flot/ )。文档并不是真的那么好,但是一旦你弄清楚事情通常是如何工作的 - 它是一个很棒的库,它使用 HTML5 Canvas 标签生成图表。

我之前没有将外部库与 Google Analytics 集成,但我假设您可以从分析中提取数据并将其格式化以供 flot 构建适当的图表。这可能是一个困难的方法,但我比大多数其他图形库更熟悉 flot(它并不像很多其他图形库那样糟糕)所以对我来说,这将是最简单的方法把它做完。

#3: 对于 twitter,使用 JSON-P 从他们的搜索 API 中提取数据非常容易。基本上,它的作用是<script>向您的 DOM 动态添加一个标签,该标签由 twitter 解释的 GET 参数,然后调用一个预定义的 javascript 方法(您通过 URI 传递),并使用 json 编码的结果散列。

#5: 抓取和解析单个站点将是一个艰苦的过程。每个站点都会有自己的“模式”(或非模式)来发布他们的每日菜单或特价商品。我会构建一个“菜单”脚本,它知道如何调用一些函数,并编写一个函数/类来抓取你有兴趣在 PHP 中显示菜单的每个餐厅的网站(或任何其他你喜欢的语言)和)。它可以用 json 回复,这是(imo)在 Javascript 中操作/处理数据的最简单方法。

#6: 实时统计数据与#5几乎相同。我将构建几个类,它们知道如何从我有兴趣从中提取的任何数据源中获取统计信息,并通过 ajax 调用将 json 中的数据呈现给 javascript。

#1:编写 javascript 代码在计时器上加载数据非常简单,请查看setIntervalclearIntervalsetTimeoutclearTimeout方法。它们都采用函数名称(或闭包)和在调用该函数之前等待的超时时间(以毫秒为单位)。您可以每 60 秒轻松调用一次主计时器函数,该函数基本上是“调度程序”或“cron”风格的函数,它只会查找需要“立即”运行的内容并从调度程序执行这些函数。

希望这能给你一些关于去哪里以及如何去那里的想法。

于 2010-06-09T14:53:56.887 回答
1

对于 Rails Rumble,我们开发的Boardrd正是您想要开发的!

恐慌也给我们留下了深刻的印象:)

在我们关于RailsRumble的团队页面中,您将找到有关所使用工具的详细信息。我知道这不在 PHP 但也许你会尝试我们的工具并决定更好的开发环境;)

于 2010-10-20T08:00:04.097 回答