随着移动设备的多样化和操作系统的不断更新,用户对于笔记应用的需求也在不断增长。传统的笔记应用往往受限于平台和设备的兼容性问题,而现代的Web技术,如HTML5、JavaScript框架和响应式设计,为开发跨平台应用提供了可能。本文将介绍一款利用HTML5技术实现的跨平台笔记应用的开发过程,包括技术选型、功能实现、以及如何使用Azure云服务进行存储和同步。
市场上现有的笔记应用大多受到平台和设备碎片化的影响,难以实现一次编写、多处运行的理念。考虑到响应式设计、Webkit标准化、JavaScript框架的普及以及访问原生设备功能的能力,现在是重新思考Web应用的最佳时机。此外,目前还没有一款广为人知的视频笔记应用能够覆盖所有设备,这类应用在课堂和会议室等场景中具有很大的实用价值。
这款应用本质上是一个包含图像、音频和视频的网页。用户可以通过Jotdown创建包含文本、图像、视频片段和声音片段的笔记。从概念上讲,用户只是在创建一个网页,其中文本存储为<p>段落</p>
,图像使用<img src="filename" alt="Image">
,或者利用getUserMedia JavaScript API拍摄照片,音频笔记则使用<audio><source src=""></audio>
或getUserMedia API通过设备的麦克风录制。视频笔记的保存方式与音频类似。在播放时,DOM会被重写,使得音频和视频标签启用控制属性,即<audio controls></audio>
和<video controls></video>
。通过将网页上传到在线存储提供商(如Skydrive)来实现同步。Azure服务器托管了关键的Jotdown Web应用,通过使用LocalStorage API,每个设备上都单独保存了整个笔记的副本。通过在浏览器中打开Web应用或由设备上的Skydrive客户端处理,可以实现推送功能。
代码正在使用jQuery(用于查询DOM)、Knockout.js和Twitter Bootstrap(用于响应式设计)进行开发。Skydrive存储的集成正在进行中。
Windows Azure非常适合与Skydrive存储API集成,提供Azure云服务。它结合了高性能计算和无与伦比的可扩展性,以满足近乎原生应用性能的需求。
尽管对Windows Azure还比较陌生,但已经在共享服务器和暂存服务器上部署了一些值得称赞的项目。现在是实现将Web应用部署到Windows Azure的愿望的时刻了。
2013年5月3日 - 作为WindowsAzure开发者大赛的想法提交了文章。
在开发这款笔记应用时,选择了HTML5作为核心技术,因为它提供了本地存储API、视频和音频标签以及contenteditable属性等跨平台兼容性。此外,计划实现单点登录(OAuth)以避免用户添加另一对凭证。还计划使用Skydrive云存储来存储笔记。其他笔记应用中常见的功能,如注释、标记、按条件过滤、排序等,也将在应用中得到实现。
这款应用的主要功能包括: