一个轻量高效的实时交互开发框架,用于开发实时Web App 或者 网络游戏。

这是什么?

这是一个Web在线对战射击游戏(MMOA)的开源版本,该游戏依然在运行中。

原有平台为C#,现在我通过SharpKit把它移植到到了NodeJs平台!

发现NodeJs给我带来更好的体验和想法,虽然有些地方很糟糕,但是这并不是问题。

现在已经升级到0.0.3版本,虽然还不算成熟,但是却拥有了C#版本并不拥有的特性和特征。

我们有理由相信,这将是一个更加便捷的分支版本。

同时,一些核心部分我依然会采用C#编写,但是会保持同步的。

特性和特点?

1.简单的数据同步模式,并且只有一个简单的数据规则。(所有的对象只有一层,并且拥有唯一Id)

2.高效的差异同步方式,只有改变才推送,并且允许推送间隔,因为我们的模式是结果一致。不管你是10ms同步一次,还是1000ms同步一次,结果都不会有区别!

3.允许同步延迟/再次同步,当你同步失败可以尝试再次同步,最后依然会一致。

4.网络协议无关,第一个测试版本使用的是http定时刷新,经过几个版本的变化,不管是http心跳,http comet 还是 socket 都能完美的使用,而无需改变一行代码。

5.高效!对于MMOA来说,延迟是可怕的,视线路质量,我们最低延迟在10MS-100MS都能流畅游戏。

6.非常简单的开发模式,网路层全隔离,开发人员完全可以无视底层,仅关注应用逻辑开发。

7.OOP ,数据同步基于对象结构,如果你喜欢它,那么非常容易。如果不喜欢它,请尝试把它当NOSQL来认识。

8.低侵入,开发者仅需要初始化一次,框架并无更多的规则需要注意。

看到这里有点激动了么?上面我们说过NodeJs带来了c#版本更加便捷的特性,这里我们拥有了新的特性:

9.无服务端式开发。(这点我会再使用一个小示例,用于介绍,相信你会喜欢它的!)

下载和测试?

首先你需要安装nodejs,请移步:http://nodejs.org/download/

如果你拥有了nodejs,

github地址:https://github.com/icesun963/OpWeb

现在有csdn版本:https://code.csdn.net/IceSun963/opweb

下载项目并解压缩

cd OpWebNode AppLauncher.js

在浏览器中打开 http://localhost:8000/todos/ (暂不支持IE系列 可以打开2个用于测试。)

1.在输入框上回车(进行添加)
2.单击[del]进行删除
3.双击一条数据编辑并回车进行修改

最后,如果大家有兴趣加入这个项目,欢迎联系我,

可以在评论中留言联系我或者发我站内短信!

历史版本更新:

0.0.4版本更新:

1.替换Hashtable库
2.移动MongoDbSync中NoSQL部分到Shared/NoSQLSync
3.移动OpLogService中RPC服务到Shared/OpLogRPC
4.Web下增加了nedbLib,用于WebBrowser端同步,而不使用jsclr部分代码
5.Web下nedbLib,增加p2p支持,现在可以chrome<->chrom ,firefox<->firefox 下通讯,demo制作中
6.重写Shared/util.js部分代码
(JsClr部分发现GetTime函数有些Bug待修复)

0.0.3版本更新:

1.添加OpLogService RPC服务

2.添加Web目录为默认目录,并绑定端口8000

3.移动并升级todos Demo到无服务版本

0.0.2版本更新:
1.添加了基于Mongodb的支持,
原有同步方案基于内存中的对象维持,一些用户会比较担心此类问题,(作者说服老板也费了不少口水)

现在可以用简单的方案拥有Mongodb的特性了:

  1.1快速的扩容,基于Mongodb多节点同步

  1.2无需担心的数据丢失,直接在Mongodb中维护

*虽然没有非基于对象的写入模式,但是相信我,以后会有的。

2.重新调整了目录,如果你不喜欢内存模式可以直接关闭,或者删除。

[开源] OpWeb 框架 --快速高效的实时交互框架(更新至 0.0.4.0)相关推荐

  1. linux流行开源监控框架,Inotify: 高效、实时的Linux文件系统事件监控框架

    概要 - 为什么需要监控文件系统? 在日常工作中,人们往往需要知道在某些文件(夹)上都有那些变化,比如: 通知配置文件的改变 跟踪某些关键的系统文件的变化 监控某个分区磁盘的整体使用情况 系统崩溃时进 ...

  2. java day53【 Mybatis框架概述 、 Mybatis 框架快速入门、自定义 Mybatis 框架 】

    第1章 框架概述 1.1 什么是框架 1.1.1 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种 定义认为,框架是可被应用开发者定 ...

  3. Google 开源 AdaNet:快速灵活的轻量级 AutoML 框架

    雷锋网 AI 科技评论编者按:近期,Google 开源了轻量级 AutoML 框架-- AdaNet,该框架基于 TensorFlow,只需要少量的专家干预便能自动学习高质量模型,在提供学习保证(le ...

  4. 使用jQuery快速高效制作网页交互特效

    第四章:JQuery选择器 1.Jquery选择器简介 (1) Jquery中的选择器完全继承了CSS的风格,利用Jquery选择器,可以非常便捷和快速的找出特定的Dom元素,然后为他们添加相应的行为 ...

  5. 使用jQuery快速高效制作网页交互特效 第五章 上机练习四 制作广告图片轮播切换效果

    轮播应有的功能大致都有,分享给一些在学的朋友参考学习. <!DOCTYPE html> <html> <head lang="en"><m ...

  6. 使用JQuery快速高效制作网页交互特效第九章所有上机

    这里是引用 上机一 样式 body{border:0px;padding:0px;margin:0px auto;font:12px Tahoma; } div,ul,li,dt,dl {float: ...

  7. 使用JQuery快速高效制作网页交互特效第五章所有上机

    上机一 <!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8& ...

  8. 使用JQuery快速高效制作网页交互特效第六章所有上机

    上机一 样式 body,h1,h2,h3,p,ul,li,dl,dt,dd,div,section{margin: 0;padding: 0;} body{font-family: "微软雅 ...

  9. 【完结】给新手的12大深度学习开源框架快速入门项目

    文/编辑 | 言有三 这是一篇总结文,给大家来捋清楚12大深度学习开源框架的快速入门,这是有三AI的GitHub项目,欢迎大家star/fork. https://github.com/longpen ...

最新文章

  1. 命令别名的设置alias,unalias
  2. Scalaz(7)- typeclass:Applicative-idomatic function application
  3. ExtJs Form 表单验证
  4. python的程序结构有哪几种_python异常处理结构有哪几种形式
  5. 小功能 获取一段汉字的拼音首字母
  6. 漫游Kafka设计篇之消息传输的事务定义
  7. 27行代码AC_迷宫 2017年第八届蓝桥杯A组第一题(暴力、仿迷宫)
  8. requirejs、vue、vuex、vue-route的结合使用,您认为可行吗?
  9. 13 个应该记住的最不寻常的搜索引擎
  10. 强悍的 vim —— 处理大小写转换
  11. [Architecture Pattern] Entity Expansion
  12. 电子工业出版社博文视点在2010年系统架构师大会上集锦
  13. html表单-在线留言,aspcms自定义表单 在线留言修改
  14. python assert简单记忆方法
  15. vue实现div高度可拖拽
  16. OpenCV 3.0 高动态范围图像
  17. html怎么播放f4v,优秀的flv网页播放器,支持高清f4v,mp4,rtmp,支持广告
  18. 爱奇艺播放技术——300ms背后的故事
  19. linux挂载windows共享目录报错,linux通过cifs挂载windows共享目录
  20. js删除数组内多个指定下标的元素

热门文章

  1. 钉钉小程序文本框内容换行符号\n的解析处理
  2. 小型企业网三层架构(基于CISCO设备)
  3. ICMP----ping报文格式
  4. 二.MUI框架 开始体验MUI
  5. 网页CAD开发快速入门
  6. KY35 最简真分数
  7. 图文讲解如何使用QQ企业邮箱绑定域名开通企业邮箱(使用时代互联的域名管理后台)
  8. javaScript(ES5)中想方设法继承家产的方式详解
  9. JSON是什么,主要用来做哪方面的工作?
  10. 智能工厂方案与设备选型