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群(348477824)。
欢迎大家进群相互交流学习,同时也欢迎各位朋友对该框架供出自己的一份心力。