[开源] OpWeb 框架 --快速高效的实时交互框架(更新至 0.0.4.0)
一个轻量高效的实时交互开发框架,用于开发实时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)相关推荐
- linux流行开源监控框架,Inotify: 高效、实时的Linux文件系统事件监控框架
概要 - 为什么需要监控文件系统? 在日常工作中,人们往往需要知道在某些文件(夹)上都有那些变化,比如: 通知配置文件的改变 跟踪某些关键的系统文件的变化 监控某个分区磁盘的整体使用情况 系统崩溃时进 ...
- java day53【 Mybatis框架概述 、 Mybatis 框架快速入门、自定义 Mybatis 框架 】
第1章 框架概述 1.1 什么是框架 1.1.1 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种 定义认为,框架是可被应用开发者定 ...
- Google 开源 AdaNet:快速灵活的轻量级 AutoML 框架
雷锋网 AI 科技评论编者按:近期,Google 开源了轻量级 AutoML 框架-- AdaNet,该框架基于 TensorFlow,只需要少量的专家干预便能自动学习高质量模型,在提供学习保证(le ...
- 使用jQuery快速高效制作网页交互特效
第四章:JQuery选择器 1.Jquery选择器简介 (1) Jquery中的选择器完全继承了CSS的风格,利用Jquery选择器,可以非常便捷和快速的找出特定的Dom元素,然后为他们添加相应的行为 ...
- 使用jQuery快速高效制作网页交互特效 第五章 上机练习四 制作广告图片轮播切换效果
轮播应有的功能大致都有,分享给一些在学的朋友参考学习. <!DOCTYPE html> <html> <head lang="en"><m ...
- 使用JQuery快速高效制作网页交互特效第九章所有上机
这里是引用 上机一 样式 body{border:0px;padding:0px;margin:0px auto;font:12px Tahoma; } div,ul,li,dt,dl {float: ...
- 使用JQuery快速高效制作网页交互特效第五章所有上机
上机一 <!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8& ...
- 使用JQuery快速高效制作网页交互特效第六章所有上机
上机一 样式 body,h1,h2,h3,p,ul,li,dl,dt,dd,div,section{margin: 0;padding: 0;} body{font-family: "微软雅 ...
- 【完结】给新手的12大深度学习开源框架快速入门项目
文/编辑 | 言有三 这是一篇总结文,给大家来捋清楚12大深度学习开源框架的快速入门,这是有三AI的GitHub项目,欢迎大家star/fork. https://github.com/longpen ...
最新文章
- 命令别名的设置alias,unalias
- Scalaz(7)- typeclass:Applicative-idomatic function application
- ExtJs Form 表单验证
- python的程序结构有哪几种_python异常处理结构有哪几种形式
- 小功能 获取一段汉字的拼音首字母
- 漫游Kafka设计篇之消息传输的事务定义
- 27行代码AC_迷宫 2017年第八届蓝桥杯A组第一题(暴力、仿迷宫)
- requirejs、vue、vuex、vue-route的结合使用,您认为可行吗?
- 13 个应该记住的最不寻常的搜索引擎
- 强悍的 vim —— 处理大小写转换
- [Architecture Pattern] Entity Expansion
- 电子工业出版社博文视点在2010年系统架构师大会上集锦
- html表单-在线留言,aspcms自定义表单 在线留言修改
- python assert简单记忆方法
- vue实现div高度可拖拽
- OpenCV 3.0 高动态范围图像
- html怎么播放f4v,优秀的flv网页播放器,支持高清f4v,mp4,rtmp,支持广告
- 爱奇艺播放技术——300ms背后的故事
- linux挂载windows共享目录报错,linux通过cifs挂载windows共享目录
- js删除数组内多个指定下标的元素