pomelo 团队2014开源力作 -- bearcat a POJOs based application framework for node.js
发布于 10个月前 作者 fantasyni 1572 次浏览

Bearcat是一个基于POJOs进行开发的应用层框架, Bearcat提供了一个轻量级的容器来编写简单,可维护的node.js. Bearcat 提供了一个基础的底层来管理应用逻辑对象,使得开发者就可以把精力放在应用层的逻辑编写上. Bearcat 使开发者编写“简单纯粹的javaScript对象”(POJO), 并且不会侵入这些POJO,你完全可以在不使用Bearcat的环境下部署应用这些POJO.

Bearcat 概览

Bearcat 包括几个部分,包括:

核心容器

核心容器包含核心,Beans,以及Context模块.

核心和Beans模块提供容器的基础部分,包含IoC容器和依赖注入. BeanFactory 是一个复杂的factory工厂模式实现. 它去除了手动去编写单例,允许你的实际程序逻辑从配置和依赖的管理中解偶.

Context 模块基于核心和Beans模块之上,并提供了一些更高级的内容,applicationContext 是它的主要实现.

面向切面编程

Bearcat 基于核心容器提供了面向切面编程(AOP)的支持, 允许开发者定义,方法拦截器,切面来解偶那些需要被分离的业务逻辑.

特性

轻量级容器

  • 依赖注入(DI)实现的控制反转(IoC)来管理POJOs
  • 基于AOP的声明横切逻辑
  • 一致的开发与配置

简单的

  • 简单的元数据配置和编写POJOs
  • 轻量的: 基于node.js的高效率开发
  • 可重用的: POJOs 可以应用于任何开发环境
  • 无侵入的: 不依赖于容器API的开发
  • 模块化: 使用那些你需要的部分
  • 一站式服务: 没必要手动编写单例和工厂方法

强大的

可扩展的

  • 自定义扩展: 可以为容器添加自定义的代码

更多请参考 bearcat wiki

24 回复

额。这是不继续搞pomelo的节奏么~ 求花点精力用你们自己pomelo引擎做个商业项目出来,这样才有说服力嘛。。。

嘿嘿, 不是不搞了pemelo, pomelo 毕竟不是万能的, 我们在使用pomelo做商业项目(消息推送平台)时候就发现了很多的不足与缺陷, 因此, 投入了小部分精力做了下总结, 就是 bearcat

没看明白是什么意思,我实在是太low了…感觉像是把java那套东西搬到了nodejs里面

btw,我打开了你那俩实例,看了眼compare… 怎么代码不减反增…XD… compare NetEase:master … bearcatnode:master

Showing 8 changed files with 80 additions and 36 deletions.

compare fengmk2:master … bearcatnode:master

Showing 18 changed files with 380 additions and 203 deletions.

bearcat 可以翻译成熊猫么

不是沒有商業項目出來,商業項目很多。但是大家都知道這年頭商業項目的成功跟使用什麼框架根本沒多大關係。 我相信任何和我一樣使用pomelo框架開發了上線產品的開發人員都能感受到pomelo開發帶來的便利和其中我們踩過的坑。 如果是在懷疑pomelo的性能等方面的問題,我想開發者如果能夠完全掌握pomelo的話也不會顧慮可能出現的性能問題。 就目前,我按照我們已經上線的一款遊戲來說,從中午12點到晚上24點 進入不到20W新用戶(衝榜第一天),最高在線的人數2000的情況下,我們15W費用的硬件的情況下,最高使用率不到5%。不是特別重的幾個接口的平均響應速度(90%)在5ms以下。具體QPS沒有統計。大家可以根據自己的硬件情況自己進行壓測,我們利用上線硬件的一半進行的壓測,使用八台普通的DELL2012/2011年的商用PC 5XX 6XX系列進行的(公司比較屌絲,沒啥錢,現在也關門大吉了),在測試機CPU跑滿的情況下。各接口達到6-12W的QPS。

跟一樓評論回復了很多,其實就是希望大家對pomelo有信心。 另外由於公司完了,還得養家餬口,有需要nodejs開發遊戲服務端的,這裡是小的簡歷,歡迎郵件聯繫 https://gist.github.com/jiangzhuo/11187166#file-ps-md 地點北京東部或者南部 (讓我交通上花上40分鐘以上去海淀或者昌平有些接受不了),或者接受soho也行

@zxc122333 增加的那点,可以提高很大的维护性啊,代码的重用性也提升了(依赖关系不是开发者手动处理,而是通过配置文件交给了IoC框架),node 本来就是很灵活的,如果不加规范,代码可以任意,小的项目玩玩倒也可以的,但是如果是一个比较大的,需要长期维护的,就会发现有很多的坑存在,主要是后期运维成本会比较大

别弄Java那一套啊,要简单粗暴……

@hainee 写的简单粗暴,团队协作也会比较麻烦,日后维护起来比较麻烦

@fantasyni 有简单粗暴的模式的,只是你没有去尝试过而已

@hainee IoC AOP 并非就是 java的,只是个思想而已,都是共通的,语言并不是障碍,angular 就也实现了 DI

@fantasyni 恩,搞开源不容易,还是支持一下~ 盼望早日出个和pomelo结合使用的demo。

@mrFranklin 恩,目前有一个 chatofpomelo的例子,复杂例子会考虑跟进的

网易自己要搞一个POMELO的MMORPG游戏出来,才有说服力啊

@fantasyni Node.js 项目后期维护,确实是一个问题啊。。。。

@hackerjs 对头,项目完成一般只是开始,后期的维护才是大头

@xuyufei 恩恩,内部已经有游戏工作室接洽使用pomelo了

@mrFranklin treasure 例子已经用 bearcat 重构完成了哦 bearcat-treasures,晚些时候会出教程

不错 可惜俺也只是个打工的 纯顶一下

@chemdemo 没事,顶顶也行哈

bearcat-treasures 的例子更新了哦,欢迎小伙伴们围观

@fantasyni 都有哪些缺陷呢?

@kingapple 恩?你指的是哪方面?

回到顶部