JFinal 4.9.02 發布,App&Coffee 重磅上線

2020-12-28 開源中國

   每年國慶長假 jfinal 都會升級一個新版本,今年也不例外。前幾天有事被耽誤,今天正式推送新版本通知。

   這次國慶同時升級的項目有 jfinal、jfinal-undertow、jfinal-weixin、enjoy、activerecord。

   在國慶假期已全部推送到了 maven 中心庫,可以直接升級使用。

   本次升級清掃了積累了很長的待開發列表,大多來自同學們的需求與反饋。新版本以細緻打磨為主,但也不乏一些有意思的功能。

1、enjoy 新增對中文表達式、變量名、函數名支持

   這個需求在底層就是對中文標識符的支持,沒想到提出這個需求的同學還挺多,光是 jfinal 俱樂部就有將近 10 人提出想要這個功能。

   雖然我自己感覺這需求挺奇葩,但真實需求就必須要打破個人主觀偏見,為用戶創造價值更重要。

   好在 jfinal 極簡設計之下,添加這個功能也就 19 行代碼的事,10 分鐘內打完收工,添加中文標識符支持以後,可以這麼來用了:

#(美女.身高)#define 中文函數名在此() #(中文變量名在此)#end

2、#number 指令、算術運算默認使用四捨五入

   老版本的捨入默認用的銀行家捨入法,這個在歐美用得較多,在國內四捨五入用得多,所以這個功能很重要。

   此外,捨入方式可以配置,配置方法如下:

engine.setRoundingMode(RoundingMode);

3、#date 指令支持 LocalDateTime、LocalDate、LocalTime

   老版本的 #date 指令只支持 java.util.Date 及其子類,雖說自行擴展也很容易,但官方提供可以進一步節省你的時間專注業務開發。

   為了支持 LocalDateTime,索性對 com.jfinal.template.io.Writer 新增了針對 LocalDateTime 的 write 方法,這樣便於在擴展 enjoy 指令時更方便處理 LocalDateTime。

4、ActionReporter 支持自定義擴展

   這個需求提出很久了,起初我一直認為這個僅用於開發模式時輸出一些有利於開發效率的信息,所以沒處理這個需求。

   但很多同學說他們將這個功能用於監控系統的運行情況,非常希望能自由擴展,好吧,加上。

   擴展很簡單,繼承 ActionReporter,然後配置:   

me.setActionReporter(ActionReporter);

  5、Prop、PropKit 對返回值進行 trim() 操作

   經過測試 key = value 格式的配置,對於等號兩邊的空格來說無論是否 trim(),結果是一樣的。

   但如果 value 右側有空格,則會成為值的一部分,這類配置錯誤很難被肉眼發現,這個打磨有一定的價值,以後可以放心大膽的在 value 後方留空格了。

6、enjoy 支持 reentrant

   這個需求絕大多數同學碰不到,目前為止也就一位同學有這個需求。簡單來說就是有同學在模板渲染的過程之中再次獲取一個新的模板進行渲染。由於 enjoy 內部有一個 ThreadLocal 的 buffer,所以 reentrant 的渲染會覆蓋掉 buffer 中外層正渲染了一部分的數據。

7、JFinalJson 支持 reentrant

   情況與 enjoy 的 reentrant 相似。

8、改進 enjoy 中 Compressor 的壓縮算法

   代碼量減少了將近 50%,可讀性更好,性能更高,壓縮率更高,壓縮 sql 模板格式更美觀,sql 壓縮配置方法:

activeRecordPlugin.getEngine().setCompressorOn(' ');

9、改進 RedirectRender 對 nginx 反向代理時的支持

   簡單說就是 nginx 代理了 https,而 nginx 與應用之間走的是 http,這個改進可以讓 redirect(...) 仍然重定向到 https 而非 http。

10、新增 TimeKit 用於簡化 JDK 8 新增的時間 API

  JDK 8 處理時間的 API 雖然有很大進步,但用起來還是囉嗦,TimeKit 去除了一些中間步驟,讓功能一步到位,觸手可及。

   TimeKit 一直是用在具體的項目之中,用得多了乾脆就轉移到 jfinal 中來,獨享不如共享。

11、Render 實現類添加 flush() 操作

    極少數同學反饋在有些部署場景之下,客戶端接收不到數據,在 render 中添加 flush() 可解決。

   添加 flush() 解決上述問題的同時,還可以縮短客戶端響應延遲,這個打磨有一定的價值,適應更複雜的部署環境。

12、enjoy buffer 默認值改為 1024

   老版本的默認值為 2048,buffer 大些性能會高點,但響應延遲也會高點,縮小為 1024 在高性能與低延遲上更平衡,仍是打磨。

 

   剩下還有 27 項細緻打磨,為節省大家時間,在這就不一一細說了,在官網可以下載到完整的 changelog: https://jfinal.com

   比 jfinal 新版本發布重要得多的事情是 jfinal 社區計劃很久的 App&Coffee 頻道上線了。

   App&Coffee 全稱是 Application And Coffee,簡單說就是 jfinal 官方和俱樂部打造精緻有用的 Application,有需要的同學可以通過給作者來一杯咖啡得到授權,稱之為 "咖啡授權"。

   App&Coffee 承載了 jfinal 的生態夢想,最終能不能成,就看你是否願意請作者喝杯咖啡了,寫出好代碼哪能沒有咖啡加持 ^_^

   ONE MORE THING:為了進一步大幅度提升開發效率,jfinal 官方已經介入前端,打造一個 jfinal 極簡風格的前端框架,前後端同時極速開發將成為現實。新鮮出爐的 jfinal-kit.js 極簡前端框架已發布,伴隨的第一個應用已經誕生。詳情請移步:https://jfinal.com/app/1

   

相關焦點

  • JFinal 4.9 發布,持續精雕細琢 - OSCHINA - 中文開源技術交流社區
    JFinal 4.9 主要打磨了近半年來開發者的需求與反饋,較大的雕琢有下面這些:1、重構、優化自帶的 json 轉換模塊    JFinalJson 模塊被重新設計,初步測試,性能提升至 jackson 的 3 倍以上。
  • 重磅!實況官方會員平臺《易球成名Club》APP首曝4月10日上線!
    重磅!實況官方會員平臺《易球成名Club》APP首曝4月10日上線!近日,網易宣布「易球成名Club」將在4月10日正式上線,一個滿載樂趣和熱情的實況玩家聚集地即將與玩家見面,一系列精彩的玩家福利也將由此開啟!
  • 華為重磅服務突然上線AppGallery商店,HMS勢在必行
    自從美國禁令出臺後,在海外地區,華為就無法在新機上安裝谷歌GMS服務,於是,華為就發布了鴻蒙OS,並全力發展自主研發的HMS服務。為了快速完善發展HMS服務,華為不僅面向全球推出了HMS Core4.0服務,不僅向開發者授於更多權限,還加入了很多新功能。
  • 李俊毅徐聖恩合作單曲《Coffee or Tea》上線啦!
    1月7日,李俊毅和徐聖恩的合作單曲《Coffee or Tea》上線,兩位大廠男孩久違的合作引人注目。《Coffee or Tea》由李俊毅擔當作曲和製作,李俊毅和徐聖恩共同作詞,展現了兩位藝人的才華。
  • 遊民星空App5.0安卓重磅上線!全新視覺設計 諸多新功能
    遊民星空App5.0安卓版歷經了一個月的大規模測試,終於在今天正式上線了!我們也根據玩家們的反饋不斷進行了優化和調整。2、「關注」功能正式上線  原「訂閱」功能全面升級為「關注」,在這裡可以瀏覽你所感興趣的大V和好友所有動態。
  • 英語學習Vlog28-Garage coffee,機場行長
    《英語學習Vlog28-Garage coffee,機場行長》【編者寄語】您好,我是機場行長!這是我的英語學習Vlog28-Garage coffee,謝謝您關注我。我的人類技能共享app希望能在中關村遇到一些喜歡她的人。車庫咖啡是網際網路創業者的好去處。它位於創業街的中間。當你到二樓的時候,你會看到的。車庫咖啡和其他咖啡店最大的區別是有許多工作座位。
  • 89.9元搶購原價412元【城市coffee西餐】雙人套餐,天氣冷了,快帶心...
    限時搶購  雙人餐:89.9元  限時搶購 門市價:412元  【城市coffee西餐】套餐  包含:  城市頂級黑椒牛排  聖瑪麗亞煎焗雞腿排  相約城市藍莓紅豆披薩  黑椒牛柳絲炒意粉  焙烤煎陪有機蔬菜沙拉
  • 唱吧APP9.01版本上線 玩法升級新增搶唱、嗨唱
    早在4月初,唱吧就已經向用戶透露,新版本App即將更新。近日,在用戶的期待中,唱吧9.01版本正式上線,用戶現在就可以第一時間體驗全新的唱吧APP,也標誌著唱吧品牌升級的腳步越來越近。據悉,9.01版本的唱吧app在產品上做出了很大的變革,從風格、使用方式以及玩法上都做了大膽的嘗試。可以算是對老版本的顛覆和升級。
  • 觸控遊戲重磅來襲,合金、捕魚4、槍魂集體亮相CJ
    做為中國知名手遊企業,觸控科技每次發布的遊戲都會給人耳目一新之感。CJ期間,觸控新作手遊《槍魂》、《合金彈頭OL》、《捕魚達人4》已經陸續上線,而《合金彈頭OL》僅僅一周,就迅速搶佔付費榜前三,並取得暢銷榜第13名的驚人戰績。
  • luckin coffee×LINE FRIENDS,開啟消費新潮流
    最近,由luckin coffee與國際 卡通形象品牌LINE FRIENDS合作的系列款全新上市,從聯名堅果到周邊潮物,luckin coffee為消費者帶來了超多   原標題  luckin coffee×LINE FRIENDS,開啟消費新潮流   作為國內知名咖啡品牌,luckin
  • 實況官方會員平臺「易球成名Club」APP今日重磅上線!
    《實況足球》手遊會員平臺「易球成名Club」APP今日重磅上線!」易球成名Club「致力於打造實況足球玩家的聚集地,玩家們能夠在這裡掌握最新的遊戲資訊,並獲取一系列精彩的會員福利。在不久前的先鋒測試中,「易球成名Club」收穫了玩家們的廣泛好評,在實況玩家社區中,這款APP被貼上了「實況迷必備」的標籤。
  • 2017年4月垂直漫畫app行業報告
    截至2017年4月,垂直漫畫app市場滲透率高達5.9%,用戶規模約5322.9萬。垂直動漫領域已經形成了快看漫畫與騰訊動漫兩強爭霸的局面。極光大數據發布《讀圖時代的移動應用觀察——2017年4月垂直漫畫app行業報告》,從多個層面詳細解讀垂直動漫行業現狀。
  • 重磅I IT4IT2.1中文版正式發布特邀專家彭斐推薦
    重磅 I IT4IT 2.1中文版發布The Open Group正式發布《IT4IT 2.1》標準中文版,The Open Group IT4IT 參考架構是管理 IT 業務的標準參考架構。它使用價值鏈方法來創建 IT 功能模型,以幫助企業識別有助於提升業務競爭力的活動。
  • 《古惑狼4:It’s About Time》9月16日上線試玩demo 新可玩角色...
    《古惑狼4:It’s About Time》9月16日上線試玩demo在Tawna的預告中還透露了《《古惑狼4:It's About Time》的試玩demo將於9月16日發布,比正式發布時間提前兩周。不過,只有預訂遊戲的玩家才能獲得試玩版本。試玩版包含完整遊戲中的前兩個關卡。視頻畫面:
  • 重磅|YEEZY 380國內發售!Adidas APP上線,還有更重磅鞋款!?
    歐洲Adidas APP上Yeezy 380 「MIST」已經上線!並且就在昨天國區Adidas APP也出現了Yeezy 380的字樣,可以說是變相偷跑。甚至有的朋友那已經流出了中籤的圖片,真是讓史丹尼好生羨慕。
  • 虎牙直播APP年度重磅更新 S10全球總決賽前有望上線
    (原標題:虎牙直播APP年度重磅更新 S10全球總決賽前有望上線)
  • 關於『coffee』的英文小組合
    『coffee』這個單詞表示咖啡,在生活中隨處可見,不少小夥伴都很喜歡喝咖啡,那麼今天,我們就一起了解一下和coffee有關的簡單英文小組合吧!coffee break:喝咖啡的時間,也就是休息時間:coffee break=coffee:咖啡+break:中間休息。
  • 3D分享平臺Sketchfab發布VR app
    此次發布的VR app已上線iOS,安卓和Steam平臺,能支持各種格式的文件。Sketchfab將在周四宣布支持三星的Gear VR,至於何時兼容Oculus Rift尚在計劃之中。3D分享平臺Sketchfab發布VR appSketchfab的3D渲染文件總共分為6類:景點、動物、生物、文化遺產、遊戲世界、汽車和教育。
  • 七麥數據App重磅升級上線 打造全新用戶體驗
    4 月 10 日,七麥科技旗下專業的數據分析推廣平臺——七麥數據App(原ASO100 App) 重磅升級,全新上架App Store,為開發者帶來更便捷、流暢的使用體驗。
  • 重磅!「臨報嚴選」線上商城上線啦!
    重磅!「臨報嚴選」線上商城上線啦!「臨報嚴選」線上商城的上線運行,標誌著臨沂日報報業集團在加快推進媒體深度融合發展進程中邁出堅實一步,同時也是探索建立「新聞+政務服務商務」的運營模式、發揮新型主流媒體「引導群眾、服務群眾」重要作用的具體行動。「臨報嚴選」線上商城秉承著「嚴選好物,精緻生活」的消費理念,為消費者全新打造物美價優的線上購物商城。