這個嚮導提供了一個基本的Ext JS介紹。咱們將會以一個很是簡單的「hello world」例子來展開討論。咱們將以code是如何在Ext JS中組織的來開始。這個嚮導同時也包含了許多其餘有價值的資源,因此儘量多看幾回以保證你成功的入門Ext JS! javascript
開始使用Ext JS5是很是簡單的!像以下展現的同樣簡單地建立一個index.html 文件其中引用的JavaScript 和CSS文件都是從咱們的CDN引入的: css
<!DOCTYPE html> <html> <head> <title>Editor Preview</title> <link rel="stylesheet" type="text/css" href="http://cdn.sencha.com/ext/beta/ext-5.0.0.736/build/packages/ext-theme-neptune/build/resources/ext-theme-neptune-all.css"> <script type="text/javascript" src="http://cdn.sencha.com/ext/beta/ext-5.0.0.736/build/ext-all.js"></script> <script type ="text/javascript" src="app.js"></script> </head> <body></body> </html>
其餘如jQuery或者 AngularJS涉及描述性的HTML標記,Ext JS使用了不一樣的方法。你要寫特定的JavaScript和組織咱們的內部類型系統。你能夠參考咱們下面的代碼結構例子。 html
Ext.create('Ext.Panel', { renderTo : Ext.getBody(), width : 200, height : 150, bodyPadding : 5, title : 'Hello World', html : 'Hello <b>World</b>...' });
讓咱們合併上面的Panel對象到你包含到index.html文件頭中的空白app.js文件中。如今,若是你簡單的增長上面的代碼到script表單集中,它會失敗由於Extjs框架並無徹底加載。因此咱們必須使用Application Class’s launch() 函數。它會使框架就緒來使用。 java
咱們須要作的就是把上面的代碼放入到Ext.app launch() 函數中。 編程
app.js文件最後將會看起來這樣: api
Ext.application({ name : 'MyApp', launch : function() { Ext.create('Ext.Panel', { renderTo : Ext.getBody(), width : 200, height : 150, bodyPadding : 5, title : 'Hello World', html : 'Hello <b>World</b>...' }); } });
面向對象編程(OOP)是一個模塊化的,可重複使用的方式創建你的代碼的方法。它同時也使你的代碼比許多其餘的使用單文件編寫的 js類庫具備更好的可維護性。 瀏覽器
相比於編寫一個巨大的程序,一個程序能夠被拆分紅許多可鏈接的部分,最終,使一切變的更容易來維護和伸縮。 架構
閱讀更多關於basics of OOP. app
Ext.define('MyApp.MyPanel', { extend : 'Ext.Panel', title : 'Hello World', html : 'Hello <b>World</b>...' });
Ext.define('MyApp.MyPanel', { extend : 'Ext.Panel', width : 200, height : 150, bodyPadding : 5 }); Ext.application({ name : 'MyApp', launch : function() { Ext.create('MyApp.MyPanel', { renderTo :Ext.getBody(), title : 'My First Panel', html : 'My First Panel' }); Ext.create('MyApp.MyPanel', { renderTo : Ext.getBody(), title : 'My Second Panel', html : 'My Second Panel' }); } });
像咱們看到的那樣,這個功能讓你重用的基本的代碼可是仍然能夠建立你須要的改變。這只是一個簡單的例子,拓展Ext JS 類是一個幫助你建立乾淨和可維護的代碼的很是強大的機制。 框架
你能夠閱讀更多關於咱們的內部類型系統。
注意:這裏的單文件組織代碼的方式只是爲了舉個例子。若是你想要寫一個真正的應用,你必須把你的視圖層放在不一樣的MyApp.view.MyPanel文件中,你的建立動做要放置在controller或者launch()方法中。
閱讀更多關於應用架構 here.
你已經看到在Ext JS中建立一個簡單的「hello world」例子所須要的代碼。若是你是個新手,可能須要你稍微的瞭解下它的語法來建立這樣簡單的東西。就是說,讓咱們看看Ext JS中的grid,你能夠看到最真實的狀況下,利用少許的語法來建立真正使人印象深入的輸出。
在這裏例子,咱們將產生一個Ext.grid.Panel,其中包含了行內編輯和一組數據。爲了看到這個例子,用下面的代碼簡單的替換app.js文件中的代碼:
Ext.application({ name : 'MyApp', launch : function() { Ext.widget({ renderTo : Ext.getBody(), xtype : 'grid', title : 'Grid', width : 650, height : 300, plugins : 'rowediting', store : { fields : [ 'name', 'age', 'votes', 'credits' ], data : [ [ 'Bill', 35, 10, 427 ], [ 'Fred', 22, 4, 42 ] ] }, columns: { defaults: { editor : 'numberfield', width : 120 }, items: [ { text: 'Name', dataIndex: 'name', flex: 1, editor: 'textfield' }, { text: 'Age', dataIndex: 'age' }, { text: 'Votes', dataIndex: 'votes' }, { text: 'Credits', dataIndex: 'credits' } ] } }) } });
而後咱們刷新瀏覽器,將會看到:
你這裏看到的是一個全功能的Ext JS grid。這個grid有可排序的,可拖拽的,可移動的列。這些列能夠經過grid頭上的下拉菜單的列選項來顯示和隱藏。這個grid同時也包含了一個能夠經過雙擊任何列來激活的列編輯器。這些列包含帶幫助和友好的用戶交互的可編輯的數字和文件行。
真正使人激動的事事你用大約30行的代碼就得到了這些。大多數這些功能都是grid默認提供的,意味着更少的時間來得到更多的功能。惟一添加到這個例子的就是行編輯器,而這也只須要一行配置而已。
這應該能說明一旦你熟悉了語法Ext JS能節約你多少時間。最後,你節約了時間而且用戶在你的應用裏得到了豐富的體驗。
注意:在一個真實世界的例子中,你將使用分離的store和model來填充你的grid數據。
閱讀更多關於 Ext.data.Store 和 Ext.data.Model 在咱們的應用嚮導中.
如今你已經看到開始這一切是多麼簡單,你能夠重讀一些咱們的嚮導了更加了解Ext JS
你能夠再這裏找到 Ext JS 5 的文檔here.