`
geniusleft
  • 浏览: 63750 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Thinking Loud! - 发布一个基于 FX 3.5 的社区系统原型

阅读更多

这些天赋闲在家,从周一到现在,花了三天时间,实现了一个社区系统原型,我把它叫做“Thinking Loud!”,放到了 codeplex 上,这也算是完成了一个承诺。jjx,你看我并没有骗你吧 :)

tl2

(首页截图1)

tl3

(首页截图2)

tl4

(讨论组截图)

tl5

(话题讨论截图)

整理一些要说的话,自问自答。

1. 开发代号为什么要叫“Thinking Loud!”

想到就说喽,因为“LoudThinking”这个名头已经被David Heinemeier Hansson这家伙占有了,唉。另外,您不觉得“Thinking Loud!”的含义很酷吗?

2. “Thinking Loud!”都用到了哪些技术?

“Thinking Loud!”是基于开发代号为“Orcas”的Visual Studio 9.0 beta 1开发的:

  • 使用SQLServer 2005 Express 作为数据存储后端。
  • 使用DLINQ作为数据存取层。
  • 使用ASP.NET AJAX + Windows Communication Foundation进行B/S数据通讯。
  • 尽可能地使用ASP.NET 2.0系统模型以及C# 3.0的新特性。

3. “Thinking Loud!”会有哪些功能?

“Thinking Loud!”是作为一个社区系统而不是论坛程序来设计的,虽然大部分功能其实和论坛差不多,但也有些微新的设想,大体上讲:

  • 用讨论组(group)代替版块(forum),谁都可以创建讨论组,讨论组有生命周期,但显然不是谁都可以创建版块,版块的概念偏重了。
  • 用联系人(contact)和书签(bookmark)代替收藏夹(favorite),这看起来更web 2.0更动态一些,重要的是定位更纯粹更有利于扩展应用。
  • 不再使用分页(paging),想想google reader是怎么做的吧。
  • 细化到话题(Topic)一级的rss订阅。
  • 支持影音功能。
  • Mashup,REST这么时髦的概念也不能少。

总的设计思路是,需要的功能可以有,但一定要简单,细节一定要到位,要高度易于扩展以满足有额外需求的用户。

4. “Thinking Loud!”的设计从哪些站点得到了启发?

我想我从互联网上汲取了很多创意,但就“Thinking Loud!”来讲,主要的设计目标是往以下站点拥有的某些或全部功能靠拢:

5. “Thinking Loud!”有没有提供对silverlight的支持?

坦率的说,对silverlight的支持是我最上心的,也包括对Mobile的支持。我最初的想法是实现4套功能相同的页面,就像页面主题(theme)一样,desktop_basic, desktop_silverlight, mobile_basic, mobile_silverlight,利用UrlRewriting机制和浏览器的UserAgent判断用户端浏览器是否支持silverlight以重写页面到被支持的最佳版本,但时间有限,我最迟能开发到这周末,下周开始就不沾电脑了,于是这个构想就放弃了。

6. 说说这几天的开发进度情况吧。

开始就讲了,我写这个原型花了3天时间:

  • 周一主要是熟悉上手这些新产品新技术,Visual Studio 9.0 beta 1我是刚开始用不久,顺便地也酝酿沉淀原型设计的思路。
  • 周二把程序框架写了出来,大致确定怎么去实现一个功能了,是feature-driven的,而不是test-driven。
  • 周三基本上能用了,注册用户,登录,创建讨论组,创建话题,回复话题。

很抱歉我没有提供什么单元测试之类的相关资源,时间太紧,不得从容,就只好quick and dirty了 :(

7. 最后展望一下“Thinking Loud!”的未来吧。

“Thinking Loud!”的代码是开源的,我把它放到codeplex上,但已无力维护。按我的设想,目前的ajax实现仅仅是过渡,因为ajax的性能很糟,维护成本又很高,如果得闲,一定要以silverlight + IronPython/IronRuby实现为主的。

“Thinking Loud!”的将来是什么样子其实我也很想知道,我想它会始终朝着成为一个功能最纯粹,技术最炫,理念最先进的社区系统这个目标前进吧,欢迎感兴趣的朋友贡献自己的力量,请一定要告知我。

相关资源:

分享到:
评论

相关推荐

    Out Loud Extension-crx插件

    Out Loud使用目前由Amazon Polly和Alexa服务提供支持的最先进,最现实的文本到语音服务来改善您的写作。*我们的自定义移动文本编辑器ui和Chrome扩展程序旨在帮助您在工作时聆听-选择任何短语,句子,段落或文档中的...

    loud-233909.pdf

    在Power BI服务中,基于发布的报表创建一个新的Dashboard。Dashboard支持实时刷新,当有新的回复提交时,数据会自动更新。 **关键要点** - **实时性**:使用流数据集和Dashboard功能,能够在数据变化时自动刷新,...

    loud-255373.pdf

    根据提供的文件部分内容,我们可以归纳出以下关键知识点,主要围绕Linux操作系统的基本目录结构、网络配置以及基本操作命令等几个方面: ### Linux目录结构 1. **/bin** - **简介**:二进制(Binary)的缩写。 -...

    loud-243473.pdf

    如果你需要一个商业的ETL工具,Datastage或Informatica可能是一个不错的选择。如果你需要一个国内的收费工具,DataPipeline可能是一个不错的选择。 在选择ETL工具时,需要考虑以下几个方面: * 项目的实际需求:...

    Loud Rain-开源

    Loud Rain 是日语-多语言(英语、法语、德语、俄语和荷兰语)词典,使用 Jim Breens JMdict(一种 XML UTF-8 词典,提供比 Edict 提供的更多信息)。 Loud Rain 是用 C# 编写的,适用于 Windows (.NET) 和 Linux ...

    loud-rejection:使未处理的承诺拒绝大声失败,而不是默认的静默失败

    安装 $ npm install loud-rejection用法 const loudRejection = require ( 'loud-rejection' ) ;const promiseFunction = require ( 'promise-fn' ) ;// Install the `unhandledRejection` liste

    LOUD-agency:第一周的项目代理网站-https

    大放异彩的机构FAC21第1周项目挑战为您的团队建立一个代理网站-介绍您的团队-有关每个团队成员的信息(关于我们)-取得联系的方式(联系表格)代理商名称:Loud 原因:我们是一大群人,他们讲不同程度的西班牙语,...

    Read Out Loud-crx插件

    "Read Out Loud-crx插件"是一款专门针对英文文本的语音合成工具,它作为一个浏览器扩展程序,能够将网页上的文字内容转化为语音输出,为用户提供便捷的听读体验。这款插件适用于那些需要长时间阅读电子文本或者视力...

    Loud-Map-Electron:用于上传LOUD地图的地图实用程序

    欢迎使用LOUD Client的存储库,它是的闪亮新客户端。 仍然不确定LOUD项目是什么? 在找到 在发行选项卡中,您可以找到客户端的最新公开发行版本。 目录 安装 在导航到最新版本; 下载.exe文件或.deb文件,具体取决...

    Audio-Loud-and-Recognition-Processing:该存储库包含代码和信息,以通过使用机器学习来检测音频数据的大声或特殊形式

    在本项目"Audio-Loud-and-Recognition-Processing"中,主要目标是开发一个系统,能够通过机器学习技术来检测音频数据中的大声部分或者特定的声音模式。这个系统可能应用于各种场景,比如噪声检测、语音增强、会议...

    Git-LOUD:最高统帅伪造联盟LOUD mod

    在您的Forged Alliance文件夹中,创建一个新的名为“ Git-LOUD”的子文件夹。 将母版解压缩到新创建的Git-LOUD文件夹中。 克隆仓库 在您的Forged Alliance文件夹中,创建一个名为“ Git-LOUD”的新子文件夹。 使用...

    laugh out loud-开源

    "大声笑(laugh out loud)"是一个开源项目,它的核心是一个数据库驱动的笑话网站平台。这个平台的设计理念是简洁而实用,旨在为用户提供一个轻松愉快的浏览体验,同时具备丰富的功能。通过深入挖掘这个项目的源代码,...

    《用Prolog建专家系统》学习笔记

    以下是一个简单的示例,展示如何使用Prolog构建一个简单的鸟类识别专家系统: ```prolog bird(laysan_albatross) :- family(albatross), color(white). bird(black_footed_albatross) :- family(albatross), color...

    equalLoudFilter.rar_Loud

    在音频处理领域,"equalLoudFilter.rar_Loud" 提供了一个重要的工具——等响度滤波器。这种滤波器的设计目标是调整音频信号,使得不同频率的声音在人耳感知上具有相同的响度。响度是人耳对声音强度的主观感知,不同...

    六年级Revision学案1.doc

    这篇文档是针对六年级学生的一份Revision(复习)学案,主要目的是巩固和深化形容词的比较级和最高级、动词的现在分词和过去式,以及一般过去时和过去进行时的理解与运用。以下是这份学案所涵盖的具体知识点: 1. ...

    Rolling-Loud-Website:受到音乐节“滚大声”的启发

    "滚大声"音乐节启发的网站项目,是一个以"Web编程2"为主题的实践作品,它融合了多种前端技术,展示了动态交互与数据处理的能力。在这个项目中,开发者使用了AJAX(异步JavaScript和XML)作为核心手段,将HTML、CSS、...

    彩票购买系统-C语言源代码

    《彩票购买系统-C语言源代码》是一个针对初学者设计的编程项目,主要使用C语言编写。这个系统旨在帮助学习者理解和实践C语言的基本语法和控制结构,同时涉及到文件操作、用户交互以及数据管理等概念。 1. 文件操作...

    Air_Pollution_Forcast_Beijing-master.zip_LSTM空气质量_loud2pt_lstm 拟

    标题中的“Air_Pollution Förcast_Beijing-master.zip_LSTM空气质量_loud2pt_lstm 拟”表明这是一个关于预测北京空气质量的项目,其中使用了LSTM(长短期记忆网络)算法,并且可能结合了loud2pt(可能是某种特定的...

    Loudml:Loud ML是第一个用于ICT和IoT自动化的开源AI解决方案

    要报告文档中的问题,或提交反馈和评论,请在GitHub上打开一个问题。 用于时间序列数据的开源AI库 Loud ML是建立在TensorFlow之上的开源时间序列推理引擎。 使用将来的知识来预测数据,检测异常值并自动执行过程...

Global site tag (gtag.js) - Google Analytics