国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Hello 2019! Hanjst/漢吉斯特 模板語言及引擎創新發布

shiguibiao / 2270人閱讀

摘要:值此一元復始之際,恭祝朋友們新年萬事如意寄望漢吉斯特能幫助大家從各種模板中解脫出來,為人類做出更大的貢獻。漢吉斯特模板語言及引擎是一種基于的模板語言及解析引擎,她可以運行在客戶端,也可以運行在服務器端。年元旦,漢吉斯特正式對外公布。

Hello 2019! Hanjst/漢吉斯特 模板語言及引擎創新發布。

值此一元復始之際,恭祝 朋友們新年萬事如意!
寄望 Hanjst/漢吉斯特能幫助大家從各種模板中解脫出來,為人類做出更大的貢獻。

1. 背景

網頁模板語言/引擎緣起于 MVC 思想的引入。當軟件項目膨脹復雜到足夠大時,軟件研發人員與UI/UE設計人員就需要分別獨立出來,其中設計制作人員工作的V(View)部分需要用模板語言與引擎。

模板語言及引擎的設計與研發工作是一項既簡單又復雜的工作。簡單地說,模板就是一種變量替換的工作,在模板中預留相應的占位符和變量標記,模板引擎在工作時在相應的占位符將對應的變量替換為實際對應的數值即可。

復雜地說,模板語言是一種全新表達語言的設計,設計一門語言,其難度是可想而知的,這門語言要能夠滿足日常溝通之需要,首先或入門的是語言設計者要考慮的,是該模板語言能夠普遍接受和廣泛使用,這樣語言才有生命力。無疑,簡潔而表意豐富是重要而優先的考慮項。

先行者已經在模板領域創制出大量符合各種需求的模板語言與模板引擎,這里是一個簡單的歸集 -R/U2SJ , 為了更好的梳理其發展類別,我們繪制了一個 Mind map:

Fig1. 網頁模板語言分類概括

2. 問題討論

如在Fig1中所展示的,模板語言及引擎有很多種類,每個分類下面又有不同的應用實例,可謂多姿多彩,琳瑯滿目。實際上,在網絡上搜索一下可能會發現,網頁模板語言和引擎多到不勝枚舉,連JSP、PHP這樣的開發語言都可以歸類為某種模板語言的范圍。

通過腦圖的分析,我們發現在這一領域還有兩個問題沒有得到解決,或者沒有得到很好的解決:1)服務器端,有沒有一種模板語言與引擎可以實現跨開發語言的? 2)客戶端/瀏覽器終端,有沒有一種模板語言與引擎能夠不需要Script tags的?

針對第一個問題,我們搜索了多次,發現的確有針對不同開發語言而設計的模板語言與引擎,多數只是針對某幾種主流語言開發了模板編譯引擎,只是做到“準跨開發語言”,另外就是,這些看似高級的模板語言與引擎,大多數都是私有軟件,非開源,需要購買獲取授權才能使用。

至于第二個問題,Script tags,一般的定義是這樣的,如果我們在客戶端使用JavaScript來寫一個模板,通常都需要先聲明一段區塊頭部,然后完事之后再聲明一下區塊尾部,這個區塊的頭尾部使用Script tags來實現的,如下:


這是令人不悅的,為何要表述一句 “Hello {{name}}”, 無辜地多寫了第一行和第三行,不能省掉嗎?

令人無可忍受地還有其他的,
3)logicless 。如果一種模板語言無法表達邏輯,這是什么邏輯?
4){{name}}。為何必需用兩個“{{” ,而不是一個“{”?
5)<#list>. 為何要用 “<#” , 能再簡潔易懂些嗎?


Fig2 騰訊理財通客戶端等JavaScript模版

從 Fig2 中我們可以看到這些令人不滿意等地方,函數等調用 | f2y | n2t 借用了命令行管道等意思,如果有參數呢?能否寫成:

f2y(n2t(IMonthProfit)) 
or
IMonthProfit.n2t().f2y()

通過Fig2 我們還發現 模版語言,尤其是 JavaScript 模版語言在App上應用等依然存在,模版等使用并沒有隨著Web向App轉換而減少。

于是,懷著這些不滿意,我們設想滿足以下需要來設計一套新的模板語言與引擎:

A)跨開發語言,與服務器開發語言不做綁定,同時開源,免費使用;
B)去掉 Scripts tags;
C)基于JavaScript提供,同時與服務器端一致強大而復雜的表達、表示能力。

如能滿足以上,我們在繼續研制 -GWA2 / -吉娃兔 的道路上,有望一通各個開發語言的模板引擎,而不是在開發 Java 版本的 GWA2時 選擇 Velocity, 在 開發 PHP 版本的 GWA2 時選擇 -Smarty 等問題。

以語言學家的視角來設計這套模板語言與引擎,
以工程師的思維來實現語法、語義的程序化表達,
這就是 Hanjst 模板語言及引擎。

3. Hanjst, 漢吉斯特 模板語言及引擎

Hanjst是一種基于JavaScript的模板語言及解析引擎,她可以運行在客戶端,也可以運行在服務器端。

Hanjst能夠表述邏輯控制,能夠實現與服務器端模塊語言相同的功能。

特征/功能
Hanjst運行在客戶端時完全客戶端解析,節省服務器端計算資源;

Hanjst模板語言獨立,不與服務器端開發語言做任何綁定;

純粹的MVC,層間數據用JSON格式傳遞;

常見模板語言功能全支持,附帶復雜而強大的JavaScript編程能力;

無學習成本,直接使用JavaScript書寫模板語言;

開源的,免費使用;
….

Han 是我妻子的姓(韓), 也是出現我女兒和兒子名字中的音節。Han 也是中文“漢族”的意思。

Hanjst 模板語言及引擎設計用來終止在HTML模板語言領域不斷地“再造輪子”的活動,盡管這聽起來有些怪異。

Hanjst 的語法與基于 PHP 的Smarty語言有相似的地方,原因是我們借鑒了 Smarty的一些設計,之所以如此,是我們贊同 Smarty 在語言精煉方面精益求精的探索( -R/x12SU )。

Note that the PHP syntax uses 5 punctuation characters to display a
simple variable: , whereas Smarty uses 2: {}.

Hanjst 依托JavaScript內部對象及函數的功能,賦予了在模板中直接調用這些功能的能力,實現了媲美服務端模板語言一致的表示、表達能力。如表達截短一個字符串:

{$myString.substring(0, 10)} 


4. 發展規劃及設想

Hanjst 模板語言及引擎已發布在 -GitHub 上,地址為: https://github.com/wadelau/Ha... 。

Hanjst 模板語言及引擎的樣例展示地址, -Hanjst , -R/j2SP 。 現在就可以點開嘗鮮。

Hanjst 模板語言及引擎的參考手冊在編輯中,不日將在線發布。

Table of Contents

I. What is Hanjst?
1.
Hanjst Installation
2.
Basic Settings
II. Hanjst for Template Designers
3.
Syntax and Semantic
4.
Variables
5.
Modifiers on Variables
6.
Built-in Functions
7.
Warnings and Errors
III. Hanjst Template for Programmers
8.
JSON Data
9.
Includes
10.
Compile and Cache
IV. Search Engine Optimization
11.
HTML Head Element
12.
Plain Content Div Element
13.
Robot-oriented Links
V. Advanced Applications for Hanjst
14.
Embedded in HTML Elements

5. 不足及改進工作

目前已知的不足之一是在客戶端運行編譯模板文件時,對搜索引擎不夠友好。

針對這一問題,我們提供了優化HTML head, 曝露 Hanjstjsondata 等方式進行補充。

其他的,請大家試用并反饋。

2019年元旦,Hanjst/漢吉斯特 正式對外公布。

-R/U2SK

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/101218.html

相關文章

  • ECMASCript 2019可能會有哪些特性?

    摘要:可能不會包括所有的語法提案。事實上,有些提案已經被擱置很多年了。因此,很可能也會在今年月份發布。 譯者按: 又過了1年... 原文:Whats New in JavaScript for 2019 譯者: Fundebug 為了保證可讀性,本文采用意譯而非直譯。另外,本文版權歸原作者所有,翻譯僅用于學習。 最近這些年,ECMASCript標準發展節奏非常穩定,每年都會發布新的特...

    tuantuan 評論0 收藏0
  • 百度世界發布渡鴉新品,軟硬件結合更懂生活

    摘要:百度世界發布劃時代產品,軟硬件結合更懂智能生活月日,百度世界大會在北京盛大舉行。百度已與一汽集團簽署戰略合作協議,共同推動該項技術產品落地。渡鴉在會上同時公布了另外兩款即將面世的產品。 百度世界發布劃時代產品,軟硬件結合更懂智能生活 11 月 16 日,2017 百度世界大會在北京盛大舉行。百度在會上發布了手機百度 10.0 和全新人工智能硬件Raven H等軟硬件產品。百度董事長兼首...

    trilever 評論0 收藏0
  • 百度智能云牽手得,云服務和IT服務廠商捆綁作戰進入行業新高潮

    摘要:同日,雙方還簽署了戰略合作框架協議,擬在云計算通用管理垂直業務等方面進行業務合作。不難看出,百度這次投資并與漢得信息合作,亦可看作組織架構調整后的戰略配套動作,即藉由云計算平臺完成布局。年,阿里云領投了數字化服務商,并達成戰略合作。互聯網大佬間的云計算戰爭再起波瀾。3月1日,創業板公司漢得信息發布股份轉讓公告,簡言之,百度以5.26%的占股比例投資了該企業,成為第三大股東。同日,雙方還簽署了...

    mylxsw 評論0 收藏0
  • 百度智能云牽手“造王者”得,ToB市場將迎大變局?

    摘要:百度需要借助漢得的經驗去切市場。年月份的春晚紅包戰,應對瞬發的超大流量,百度智能云同樣展現出了應對復雜場景的能力和技術穩定性。緊接著,百度財報中首次公布營收百度智能云營收破億,躋身國內云廠商第三。這次投資漢得,這是大舉布局市場的另一個信號。美國大選中有一個詞,叫做Kingmaker(造王者),指的是那些選舉背后為選戰出謀劃策的人,他們經驗豐富,幫助過很多人贏得宣戰,自己卻從不參加選舉。這個詞...

    YancyYe 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<