物理仪表板/状态板的库和伪代码

时间:2010-06-09 08:47:47

标签: php javascript jquery html5 dashboard

好的,所以我昨天为办公室买了一个46英寸的屏幕,并且即将被指控设置“精心制作的世界杯拖延计划”的风险,我最好向同事们展示它的意义;)

看看我的简单草图,以及我受到启发的great projects,我想对以下内容有所了解:

  1. 骨架的伪代码:因为某些方法应该每24小时调用一次(“标题中的今天日期”),其他方法每隔60秒调整一次(“Twitter结果”),使用JavaScript(jQuery)和PHP会是一个很好的方法吗?

    编辑:Alsciende:我同意#1和#8太模糊了。因此,我删除了#8并试图澄清#1:对于“骨架的伪代码”,我基本上意味着可以完全使用JavaScript定时器来完成,你将如何设置各种定时器?

    < / LI>
  2. Google Analytics图书馆:哪些图书馆支持Google AnalyticsAPI,可以生成整齐的图表。最好是HTML5,基于JavaScript,如Protovis

  3. 推特图书馆:您建议使用哪些图书馆从个人资料中获取推特搜索结果和最新推文。

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

  5. 刮痧/解析?我会给你一个具体的例子:尝试从this restaurant's website获取今天的菜单,你会怎么做? ? (这是瑞典语 - 但你明白了 - 对不起;))

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

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

  8. alt text http://www.freeimagehosting.net/uploads/cb7af2ef28.png

2 个答案:

答案 0 :(得分:3)

我已经建立了一个类似于你在办公室谈论的仪表板。我花了大约一天时间研究它,可能性(非常)无穷无尽。基本上,我通过PHP处理的所有计算内容和间隔AJAX调用相应的PHP脚本,该脚本返回JSON数据。

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

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

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

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

<强>#6: 实时统计数据与#5几乎相同。我将构建一些知道如何从我感兴趣的数据源中获取统计信息的类,并通过ajax调用将数据以json的形式呈现给javascript。

#1:编写javascript代码以在计时器上加载数据非常简单,请查看setIntervalclearIntervalsetTimeout和{{ 1}}方法。它们都会在调用该函数之前使用函数名(或闭包)和等待超时(以ms为单位)。你可以很容易地每60秒调用一次主计时器功能,它基本上是一个“调度程序”或“cron”样式函数,它只需要查找需要“立即”运行并从调度程序执行这些函数的东西。

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

答案 1 :(得分:1)

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

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

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