plain framework 1(简约框架)一款主要用于网络(游戏)开发的C/C++框架 即将开源发布
在我们的日常开发中,我们往往会遇到这种情况,当我们换了一个开发环境时很可能会重新利用一套新的框架进行开发。由于不同框架有着不同的接口,所以我们不得不花时间再次熟悉这些接口,这将造成开发时间上的重复,而对于一个程序来说又经历了一段重复造轮子的过程。在游戏开发领域,我介入的时间并不太长,大约三年时间。抱着对于游戏的热爱和激情,在这几年时间里也是一个苦苦摸索的过程。我们国人有着这么一个通病,那就是所谓的“闭关自守”,我发现有些开发者是拥有了一套代码之后便利用这套代码可以玩转整个游戏界。我能了解这些朋友的心情,而且的确也是这么一个现象,因为市场的需要,我们不得不利用可以利用的一切资源,否则没有“时间”。而且自己拥有这套代码之后,身价也随着提高,这也是实现自身价值的重要途径之一。可是凡是有利则有弊,当我们“闭关自守”的时候,我们就会失去某些东西,那就是交流,没有交流我们的进步便会显得十分吃力。从10年开始,我开始研究天龙服务器的构架,那个时候虽然没有源码,服务端/客户端最多只能看到lua,而且后来这些都加了密。之后几年又看了包括天龙在内的畅游、麒麟、金山的一些构架设计,最令我欣赏的是金山西山居的朋友们,代码之规范早已超越了曾经的毒霸、翻译软件。13年末,由于第一个游戏项目快要接近尾声,这段时间闲了下来,我也开始不断整理思路,利用曾经的代码重写了天龙/武侠世界的核心代码。对我来说重写是学习的过程,自然也就存在许多的问题。过后plain framework就诞生了……
诞生缘由
虽然在上面我也说了一些plain framework的一些来由,但是最终诞生的原因却不得不好好谈一下。我在工作中主要是进行服务器开发,早就想弄一套属于自己的底层框架,但是总认为这个需要时间。而就在这时,项目的压力使得我为了实现此目的的心情更加的迫切。所以第一个框架完完全全是针对服务器的,那个时候我取名为plain server(简约服务器),实现了该框架后,随之而来我便又重整了思路,想将客户端的一些需求也整合进来,所以这才更名为plain framework(支持跨平台)。
开发标准
因为框架是完完全全利用C/C++开发的,就不得不提一下C/C++的标准了。现在最新的标准是C99/C++11,似乎也有许多朋友采用该标准进行开发,因为其语法够简洁的原因。但是也有其问题,那就是编译器版本兼容的问题,只有最新的编译器才能支持。plain framework为了适应不同编译器的支持,特别是针对vs系列的支持,采用了伪C99/C++98的标准。
那么什么是伪C99/C++98标准呢,其实就是在这里用到了C99的一些好的标准,而实际还是最原始的标准,这样就算再旧的版本也能支持编译了。
参考手册
一个框架必须要有参考手册,参考手册的编写也务求简洁明了,但是这是一个比较繁琐的过程,作为该框架的参考手册正在编写过程中。在编写的过程中,在开源框架之后在我的博客内大家可以留意一下,这些参考资料会先同步到博客之上。如需尝鲜的朋友们,切不要错过。
详细的描述、丰富的示例将让大家快速掌握框架:
成员招募
如果你也对开源知识比较感兴趣,如果也对网络应用或者网络游戏感兴趣,如果你也对该框架感兴趣,你可以加入我们的QQ群()。
欢迎大家进群相互交流学习,同时也欢迎各位朋友对该框架供出自己的一份心力。
plain framework 1(简约框架)一款主要用于网络(游戏)开发的C/C++框架 即将开源发布的更多相关文章
- plain framework 1 一款主要用于网络(游戏)开发的C/C++开源框架 安装篇 updated
上次介绍了一下plain framework的基础相关资料,今天该框架正式开源发布.项目的地址托管于github上,我相信大多数朋友都应该知道.今天要介绍的是该框架的目录基本结构,以及分别在linux ...
- plain framework 1 参考手册 入门指引之简介
简介 简介 能做什么? LINUX WINDOWS 简介 简约框架(plain framework)是一款基于C/C++开发的,跨平台(windows/linux)应用的基础框架,开发者可以利用此框架 ...
- 程序设计模式浅析(plain framework商业版设计模式)
程序设计其实对程序开发者来说十分重要,但是在工作中往往我们却忽略了这一块,因为我们所用的都是现有的模式.一个设计模式的好坏,往往能够体现出程序的专业性,还有整个项目的可持续性.这就是为什么有些公司,在 ...
- plain framework 1 参考手册 入门指引之 模块
模块 总述 基础 数据库 引擎 事件 文件 网络 性能 脚本 系统 工具 总述 上图为plain framework(简称简约框架)所有的模块,包括基础.数据库.引擎.事件.文件.网络.性能.脚本.系 ...
- plain framework的实际应用和扩展
首先在这里庆祝香港回归祖国的怀抱25周年,想起那年还是一个小学生戴着红领巾和胸章激动不已,实现祖国的统一是每个中华儿女从小的梦想!趁着这欢庆的日子,突然想要写些什么,其实最近也在做一些事,由于工作繁忙 ...
- plain framework 商业版 开发总结2 项目管理器
任何事情都有三个阶段,分析.制作.质检的过程.在程序中就分为设计.编码.调试(测试)三个阶段,其中设计最为重要,设计的不好会导致编码和调试重复,甚至最后又回到了设计的过程.为了不会重复返工,所以设计的 ...
- plain framework 1 1.0.3更新 优化编译部分、网络压缩和加密
有些东西总是姗姗来迟,就好比这新年的钟声,我们盼望着新年同时也不太旧的一年过去.每当这个时候,我们都会总结一下在过去的一年中我们收获了什么,再计划新的一年我们要实现什么.PF并不是一个十分优秀的框架, ...
- plain framework 1 版本更新 1.0.2 增加打包插件
由于个别因素,该框架的文档没有及时的更新到博客上,但是离线的文档已经完成.本次更新对框架来说显得比较重要,因为在文档的编写过程中经过再次的阅读代码修复了不少错误,最主要的是统一了整个框架的标准风格.对 ...
- plain framework 1 参考手册 入门指引之 代码风格
代码风格 介绍 介绍 框架自身采用了google的C++风格,作者也鼓励在你的应用中使用此风格,有关此风格你可以查阅相关资料了解.下面是一段plain framework中的代码,以便大家参考: 你可 ...
随机推荐
- jquery easyui使用(一)······可折叠面板的布局,手风琴
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...
- 微信JSApi支付~微信支付代理模式的实现(原创)
返回目录 起因(大叔原创) 对于微信支付来说,你的发起者需要配置对应的域名来获取code(获取用户信息接口),而这意味着,你的多个项目(域名不同)不能同时使用一个公众号,这是一件很操蛋的事,对于我们开 ...
- windows对象模型分类
- HTML5学习笔记
参考资料:http://www.runoob.com/html/html-tutorial.html 1.html5声明.将此html文档标记为html5文档 <!DOCTYPE html> ...
- 当shiro不进入自定义realm的权限认证方法时
需要加入下面的一个bean @Bean public DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator(){ DefaultAdvisorA ...
- IT基础架构规划方案三(IT基础软件和系统规划)
IT基础软件和系统规划 操作系统选型规划方案 根据对某集团的实际调研,获取了企业业务应用系统的建设情况,随着企业信息化建设的推进,需要对各种信息化管理系统和应用系统的服务器选型进行选型规划,根据不同的 ...
- 异常处理的解决方案 OneTrueError
应用程序安装在用户计算机上,异常处理一直是反复出现的问题.用户报障中的描述不足以重现该问题.你不得不猜测,或者只是做猴子测试,以找出其异常出现的根源. 最严重的问题是当认为你已经找出了原因并纠正它,但 ...
- 推荐8个实现 SVG 动画的 JavaScript 库
SVG 是一种分辨率无关的图形(矢量图形).这意味着它在任何类型的屏幕都不会遭受任何质量损失.除此之外,你可以让 SVG 灵活现一些动画效果.这篇文章就给大家推荐8个实现 SVG 动画的 JavaSc ...
- 中文字体font-family常用列表
Windows的一些: 黑体:SimHei 宋体:SimSun 新宋体:NSimSun 仿宋:FangSong 楷体:KaiTi 仿宋_GB2312:FangSong_GB2312 楷体_GB2312 ...
- #9.6课堂JS总结#变量作用域 date()对象 math()对象
一.变量的作用域 1.JavaScript的作用域链 首先看下下面这段代码: <script type="text/javascript"> var rain = 1; ...