蛙蛙推荐:Ajax WawaPKM构想
逻辑设计
WawaPKM帮助你记录一些只言片语和零碎的信息,这是Ajax版。它不是饭否,也不是Twriter,它只是为了帮助你记录一些零碎的想法和捕获的信息,另外你也可以用它来记录你的工作和生活笔记,当然你也可以把你的想法和信息和别人分享。不知道这个定位是大还是小,我相信有人会有这中需求的。Ajax WawaPKM更像一个应用,而不是网站,它支持脱机使用,这归功于Google Gears;你可以用msn的帐户来登陆,这要归功于Windows Live ID;它有丰富易用的用户界面,这要归功于Yahoo! UI Library;另外它很占内存,这要归功于我不懂脚本优化,或者没法大幅度的减少内存使用(gmail,163mail,hotmail也很占内存)。
技术组成
左边是大纲,由树视图组成,可以添加、删除信息节点。右边是主工作区,由标签视图构成,其中“常规”标签是默认标签,不能删除,常规标签分左右两部分,左半部分用来分页显示当前选定信息节点的信息列表,由一个表格组成,表格的行可以选定,选定后,右半部分显示选定信息的详细信息。然后双击信息列表的某行,会在主视图里新建一个标签,并进入该信息的编辑模式。这里会用到YUi的TreeView,ContextMenu,DataSource,DataTable,TabView这几个控件及其依赖的基础组件和css样式。
所有的信息都会自动保存,每隔10秒中会自动把当前编辑的信息保存到Google Gears的SQLite数据库里。当时不会自动同步到服务器上,同步到服务器的操作是手工执行的,主要是为了减少服务器的压力,以便支持更多的人使用系统,另外Google Gears提供本地web服务器,在第一次把网页文件,脚本文件,样式文件下载到本地后可以拔掉网线,清空浏览器缓存照样使用WawaKM,就像使用windows程序一样。实际上我就想先做一个纯html版,不用任何服务端技术,而且实践证明是可行的。GoogleGears还支持全文索引,它用来给web版的WawaKM提供搜索功能。最后就是它的后台线程同步功能,再做知识漫游的时候会用到。这是Google Gears在WawaKM里的应用。
最后是Windows Live ID,我将用它来做身份验证,用它的好处是大家可以用MSN帐户登陆,省得我去搞一套会员系统。它只负责身份验证,授权和个性化信息还是要由我来实现的,也就是说我可以在我的服务器上保存用户的信息和个人偏好。其实就是把Live ID当作SSO来用。
基本上就是这三部分,初步打算先做纯离线版,只用YUI和Gears。身份验证和信息漫游等想法和技术准备成熟了再来做。因为同步还要考虑windows客户端,要制定一套ajax和windows共用的协议,现在时间确实不允许。
相关图片
仅仅是示意图,按钮的图片还没找,布局和界面上也会有所美化
相关链接
Google Gears (BETA)
http://gears.google.com/
Windows Live ID Client 1.0 SDK Alpha Release
https://connect.microsoft.com/site/sitehome.aspx?SiteID=347
Yahoo! UI Library (YUI)
http://developer.yahoo.com/yui/
目前js代码写了有20%左右,有空了我会慢慢完善。我想了想,还是发到首页上吧,毕竟写博客是为了和大家分享思想,不一定技术性多强,这才是博客,所以这篇没啥技术含量,还是发上来了,dudu老大或博客园管理团队觉得不妥就提醒一下或者干脆先给我撤下来,谢谢。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2005-07-25 蛙蛙请教:问几个面向对象设计的问题
2005-07-25 初次使用Nunit进行单元测试