说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

【开源专访】JFinal作者詹波:以极简方式实现Web项目的极速开发

HTML文档下载 WORD文档下载 PDF文档下载
JFinal是一个基于Java的极速Web开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。本期【开源专访】我们采访了JFinal项目的作者詹波,请他来详细介绍这个项目。

JFinal是一个基于Java的极速Web开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful,在拥有Java语言所有优势的同时再拥有Ruby、Python等动态语言的开发效率。JFinal项目开发始于2011年初,并于2012年3月开源,采用对商业应用友好的Apache 2.0协议。

项目地址:https://github.com/jfinal/jfinal

本期【开源专访】我们采访了JFinal项目的作者詹波,请他来详细介绍这个项目。詹波曾任搜格信息技术有限公司Java架构师,北京信息管理科学研究所CTO,于2011年联合创办了微格网际科技有限公司,并担任旗下网校网的CTO。


CSDN:先做个自我介绍吧!

詹波:我叫詹波,英文名James,程序员一枚。爱好天文、物理、科幻、设计、编程、音乐、游戏、爬山、游泳。从小喜欢研究制造新东西,首次有用的制造是在八岁时独创的灭苍蝇手枪以及全新设计的火药玩具枪。对未知世界有着强烈的好奇心,终极理想是做一名自由发明家,财务自由后计划首先研究空间发电(非永动机)。

CSDN:JFinal是一个什么样的项目?提供了哪些功能?

詹波:JFinal是基于Java语言的极速Web + ORM框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有Ruby、Python、PHP等动态语言的开发效率!为开发者节约更多时间,去陪恋人、家人和朋友。

JFinal的主要特点如下:

  • MVC架构,设计精巧,使用简单;
  • 遵循COC原则,零配置,无xml;
  • ActiveRecord支持,使数据库开发极致快速;
  • 自动加载修改后的java文件,开发过程中无需重启Web server;
  • AOP支持,拦截器配置灵活,功能强大;
  • Plugin体系结构,扩展性强;
  • 多视图支持,支持FreeMarker、JSP、Velocity;
  • 强大的Validator后端校验功能;
  • 功能齐全,拥有Struts2的绝大部分功能;
  • 体积小仅180K,且无第三方依赖。

CSDN:JFinal项目是怎么诞生的?

詹波:JFinal始于2011年创业项目的实际需要。创业前曾使用Rails开发项目,被Rails的开发效率深深吸引,但无奈于Rails开发者稀有难招,以及Ruby语言固有的缺点,故决心打造JFinal,将静态语言与动态语言两者优点结合起来用于创业项目。

JFinal中的J代表Java语言,Final有最终的意思,希望JFinal能成为Java开发者的最终选择。Final还有稳固不变的意思,也因喜欢事物本质,热爱永恒的真理。

CSDN:JFinal的设计思想和理念是什么?有哪些创新点?

詹波:JFinal 遵循大道至简的设计思想。主要创新点:

  • 微内核+全方位扩展架构;
  • Db + Record 模式;
  • CPI模式;
  • ActiveRecord模式Java实现方式;
  • API引导式配置;
  • API引导Validate;
  • 采用Scanner + ClassLoader结合Jetty实现热加载;
  • 极简设计,核心代码约2000行实现Web MVC + ORM。

CSDN:介绍一下JFinal的架构?JFinal实现极速开发的原理是什么?又是如何实现的?

詹波:JFinal采用微内核全方位扩展架构,全方位是指其扩展方式在空间上的表现形式。

JFinal由Handler、Interceptor、Controller、Render、Plugin五大部分组成,以Action为参照,Handler处在扩展的最外围,Interceptor处在更贴近Action的周围,Controller承载Action处在扩展的中心,Render处于Action后端,Plugin处于在Action侧边位置。


JFinal实现极速开发主要是因为走的极简设计风格:零配置、代码量少、开发体验连续、无第三方依赖、概念最少化等等。

要实现极简设计,必须要为架构注入灵魂,系统才有自己的极简性格。设计前先在脑海中形成一整套的极简设计思想,让这套思想融入到灵魂的深处,在行动时每动一个设计念头时以此为指导思想,最后的结果就能如愿。

CSDN:讲讲项目开发过程的事情,从立项到发布首个版本之间有什么让你印象深刻的事情?

詹波:JFinal项目始于2011年3月左右,第一个版本大约两周左右开发完成,再用了一周时间将手头SSH项目切换至JFinal。

这期间最令人兴奋的事情是脑海中不断迸发出新的想法,然后立即将想法变为现实,这段时间更加确信可以通过持续地专注来激发创造力,后续工作中也验证了此法的有效性。

CSDN:开发过程中你遇到了哪些困难?是如何解决的?

詹波:开发过程最大的困难就是写代码实现,想法很快就能有,但实现起来需要花费更多时间,代码极简比仅仅实现功能要困难得多。

解决这些问题,需要对各种因素进行深入透彻分析,权衡得到最优方案。

CSDN:你每天投入在JFinal项目上的时间大概有多少?是否有其他人参与了项目贡献?

詹波:不同时期投入时间不一样,如果工作不紧张,每天两三个小时都没问题。最近几个月工作极忙,一般是在临睡前回复一下热心网友们的问题。有很多热心的网友提了很多建议,也有少部分人在Github上提交过代码。

CSDN:JFinal下一步的计划和目标是什么?

詹波:JFinal将一直坚持极简设计风格,在不断优化发展内核的同时,通过扩展的方式加强周边工具设施的建设,进一步提升开发体验。另外jfinal.com大部分构想已经完成,时间允许情况下会开发上线,jfinal.com关注开发者群体,将是完全不一样的模式。

CSDN:将JFinal开源的初衷是什么?你从开源中得到了什么?在开源方面有什么感悟?

詹波:本人是乐于助人的性格,有好东西乐于分享出来。造福于广大的工程师,自己会更快乐,更有成就感。另外开源出来也希望JFinal变得越来越好。

开源给我的感悟是做开源项目需要为其注入思想与灵魂,让其具有鲜明的个性与主张,并且要让更多的人接受并喜欢才能快速发展。乐于分享会使自己变得更快乐、幸福,帮助他人就等于帮助自己!

CSDN:你怎么看待开源以及国内的开源环境?你最希望对其他打算从事开源的开发者说的话是?

詹波:国内大部分工程师大都忙于生计,参与开源相对比较困难,国人对国产开源项目信心不足也是个问题。

建议打算从事开源的开发者在自己喜欢的方向和擅长的领域设定一个目标,尝试做个开源项目,会使你变得更充实、更快乐,以及很多意想不到的收获。

【开源专访】系列文章致力于对国内外优秀开源项目作者、团队的专访,挖掘项目背后的故事和更多技术细节,以及对项目的宣传、推广。同时,我们也希望广大开源开发者和爱好者自荐或推荐更多优秀的开源项目。欢迎留言或@CSDN研发频道。

物竞天择、百家争鸣——评OpenStack生态圈 CES 2014:Intel针对可穿戴技术发布多款产品 直击CES:Pebble推金属版智能手表Pebble Steel 为4K智能电视而生:高通推出骁龙802处理器 英特尔首席执行官阐述可穿戴设备新技术及Edison计算平台 设计师如何写出更棒的项目建议 微软以1亿美元收购Parature“知识库” 登陆CES:三星发布智能家庭平台Smart Home CES 2014:GPS供应商Garmin推健康腕带Vivofit 《近匠》第05期:移动开发工具访谈,个推——有节操的push 【Hadoop技术博客推荐】Hive的那些事 Twitter联合创始人推社交搜索应用Jelly 马云“食言”进军手游分成比例8:2,开发者可拿7成 CodeCombat游戏全面开源:玩游戏也能学编程 Netflix首席云架构师Adrian Cockcroft加盟Battery Ventures Android 4.3附体:RIBX发布FB/Ti 互联网手表 IE11界面布局的秘密武器:Quero Toolbar 【开源专访】Node-Webkit作者王文睿:桌面应用的全新开发方式 CentOS归属红帽:企业级Linux领域社区与商业的融合 印度初创公司Little Eye Labs证实已被Facebook收购 雅虎收购Aviate:重在提升用户体验 SDN领域硝烟再起,Oracle将Corente收入囊中 Hadoop科普文——常见的45个问题解答 CES 2014:奥迪下一代汽车将采用NVIDIA的芯片! Cocos 3.0 Beta发布:更易用、更友好 开拓新兴市场?诺基亚或推Android手机,UI界面遭泄露 预测2014大数据值得关注的8个发展方向 霸主地位再临挑战?Salesforce CEO,我们不只有Oracle LBS应用新星、“司机好助手”微车借力移动互联网,志在打造车主的个人移动门户 新一代IDE Light Table开源:让编程工作更简单 图片应用也能高大上,看Cooliris如何玩转无人机 水晶报表中使用参数字段的问题: 丢失参数字段当前值 N久努力,不能成功编译beans,清高手耐心指点!谢谢~~~~~~~~ 如何动态解析我的ip? 如此招聘,大家来看看吧,意见发表意见 两个网关的问题,各位大哥一定要帮忙啊! 为什么机子A ping机子b得到而机子Bping 不到机子A呢? 如何动态解析我的ip? WINxp问题,急!!!在线等!! 应该使用哪个? linux作为网络客户端的配置问题 怎么样看mfc向导编出来的程序? VB API 知多少? 急问!!请大家指点一下! 关于路径的问题! 急问!!请大家指点一下! 急问!!请大家指点一下! 女孩之为什么? 特别欢迎mm,jj进 如何在SQLSERVER的數據表中只是鎖定那條紀錄的那個字段?請高手幫幫忙!無限感激 简单的问题 为什么局域网的客户机有些网站访问不了? 动态创建CComboBox控件,为什么不能出现下拉框? 如何定义自己的包? 有会用VB读出ACCESS2000密码的吗? printf的问题,快速结帖 明天去新公司上班,散分!! 关于以前asp中的内置函数 想请问各位朋友一个问题 高分 如何择书与读书? mail发送问题 不知大家有没有测试过,似乎ADO的速度比DAO慢很多! 想请问各位朋友一个问题 想请问各位朋友一个问题 清那位高手指点一下 上海人,请讲信誉,我已忍无可忍了(放分) 修改计算机的名字导致SQL7.0不能启动,请问有什么修补的方法而不用重新安装SQL? c++ primer 候洁译与潘爱民译那个好些?? 为什么我的机会突然黑屏,但主机其实又没有关呢? 各位大虾,我是菜鸟,请问? 客户端的linux怎么才能通过域和代理的验证?? 加QQ:82439610 我来建个ORACLE、PL/SQL的QQ群! 大家多交流! 菜鸟问题:PHP中的变量使用前一定得声明吗?? 加QQ:82439610 我来建个ORACLE、PL/SQL的QQ群! 大家多交流! 用光驱看电影时经常说“显示器刷新率超出范围”,然后就只能重启,这是怎么回事? 加QQ:82439610 我来建个ORACLE、PL/SQL的QQ群! 大家多交流! 请问哪里可以免费下载到linux的源代码啊?谢谢! 如何择书与读书? 加QQ:82439610 我来建个ORACLE、PL/SQL的QQ群! 大家多交流! 我想转行到计算机软件,您有什么建议呢? 各位高手,看看这个贴!!谢谢 菜鸟问题:请教red hat下用.iso的安装镜像文件升级软件包的问题 请问折返跑锻炼什么?短距离折返跑能代替慢跑吗?我想锻炼耐力,爆发力!还是说一个月练习折返跑,接下去的月份就慢跑,一直轮流?请专家帮忙回答 10米折返跑”的成绩反应了人体的灵敏速度10米折返跑”的成绩反应了人体的灵敏素质.测定时,在平直跑道上,受试者以站立式起跑姿势站在起点终点线前,当听到“跑”的口令后,全力跑向正前 氢气在空气中是否发生氧化反应没有别的条件 不能点燃 加热 之类的 含有14个电子的离子 酸性溶液中H和OH离子的浓度积为什么是1*10负14次方?(不要回答水电离出来的都是这么多,是总的离子积) 有人对电流(设为电子)规律的回答:一个走了,一个才会过去.为什么? 众里寻他千百度 (众里寻他千百度,蓦然回首,那人却在灯火阑珊处)的他 是他还是她? 众里寻他千百度,那人却在灯火阑珊处.这句话的出处以及意思.众里寻他千百度那人却在灯火阑珊处这句话的出处以及意思 珠链是什么 一般链珠的珠子是几颗? is to do sthis后面不是应该加ing形式吗?什么时候是to do的? 两岸企业家聚紫金山峰会 名流荟萃商产三中全会前瞻:勇于担当绘蓝图 凝聚共朴槿惠就历史问题斥责日本 称元首会晤哥伦比亚警方截获1.5吨可卡因 逮捕环保部:局地雾霾天气频发 做好大气污俄总统普京将访问越南 适逢俄越潜艇交萧山冤案一审审判长辞去余杭区法院院长煤矿安监局:加快小煤矿关闭退出 严格浙江萧山冤案一审审判长辞去余杭区法院怀孕妻子为出轨私自堕胎 丈夫暴怒下杀希腊庆祝母乳喂养周 数百母亲当众哺乳石泰峰被提请任命江苏代省长,曾主编《分利宝赞助刘若英演唱会,唱的又是哪出4名\"9·3\"阅兵礼炮部队老兵光美国共和党总统参选人卡森访约旦 为叙李学勇将卸任江苏省省长 民众称与其交中日韩棋手见证“棋圣”吴清源铜像落户中非合作论坛峰会在即 中国驻非洲使节图解|央行将统计互联网金融的哪些数据究竟是谁在和“伊斯兰国”做石油生意?亚马逊Z实惠Bose SoundTr车主逾期不缴挂靠费 被判解除与挂靠公高达之星辰的光与影藏獒3问鼎六道剑皇圣器冰魂亮剑穴修秩序之印传奇进化洪荒之鸿蒙大道重生之法神传说新河浦旅游仪陇旅游合阳旅游六库旅游恭城旅游江村旅游炉霍旅游卫辉旅游大新旅游浚县旅游永嘉旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘