顯示具有 web 標籤的文章。 顯示所有文章
顯示具有 web 標籤的文章。 顯示所有文章

星期三, 2月 20, 2013

Backbone Study

在學習 Backbone 的時候,針對 Backbone 比較重要的一些事件、方法與屬性作個記錄

 

Backbone Study

http://backbonejs.org/

事件
  • on/bind 設定事件
  • off/unbind 移除事件
  • trigger 觸發事件
  • once 設定一個只執行一次的事件
  • listenTo 監聽其他物件的事件
  • stopListening 移除監聽其他物件的事件

1. 先設定 Model 
     這邊主要要設定的是資料結構,就是 Model 裡面有哪些屬性可以使用

     var Model = Backbone.Model.extend({
          // 屬性~~~或其他的方法
     });

     這邊回傳的會是一個 Function Object 是可以被 new 的~

     set(attributes, [options]) 
          會觸發 change 事件。
          change 事件可以指定特定的 attribute,如 change:name 事件,表示 name attribute 變更會觸發
          但是一定是要用 set 方法才可以~
          如果有設定 validate 方法,就會驗證過才存入資料,驗證失敗不會觸發事件。可在 options 傳遞 error callback

     unset(attribute, [options]) - 移除屬性,也會觸發 change 事件,除非 options 傳遞 { silent: true }
     clear 清除所有屬性

     changed 屬性 - 物件是否有變更~?

     fetch( options ) - 與 store 同步,會用 Backbone.sync 中的 read 
          HTTP GET - 
          options - 成功或失敗的 callback, 或其他 Ajax 參數
          如果 server 端資料與本地不同,觸發 change 事件
     save 存檔,會作 sync
          如果 isNew - HTTP POST, or HTTP PUT
          
     destroy - HTTP DELETE
          { wait: true } - 這樣會讓這個方法等到執行完畢有回應才結束

     url() - 預設是 collection.url/id,也可以是 urlRoot/id
     urlRoot - 自行設定 url


2. 接下來設定 Collections
     Collections 本身最常用到的應該只是 fetch,如果要讀取 server 端資料
     不會有更新的動作,每個更新的動作都是透過 Model 的 sync 方式~
     所以應該著重在事件觸發的點,以及 fetch 方法

     url - sync url

     fetch - sync read
          可以傳遞其他參數給後端 ex: { data : { page : 5 } }
  
3. View
     
     展現畫面,重要的是 render 方法,用來展現畫面用~
     
     initialize 方法
          初始化,應該會拿來作 view 的事件指定~

     render 方法
          修改 el 物件內容,達到畫面變更~
          這個方法最好回傳 this
          
     el 物件 : DOM 
          可以在 View 初始化的時候,用 tagName, className, id 或其他參數來指定
          預設為 div 空白的~
     
     $el - cached jQuery(Zepto) 物件
          就是 View 這個物件本身在畫面上對應的 jQuery 物件
          透過這個屬性可以用 jQuery 的方法來操作 DOM Object

     $( ) 方法,delegate $, query object inside View

      


星期日, 2月 17, 2013

Yeoman.io - Modern Web Apps Tools



 Yeoman

今天在找資料的時候,發現這個工具
網路上也有影片在介紹,不過是英文就是~

 

因為結合了 Nodejs + NPM,所以可以方便的做到 Package Manager
 Javascript 已經可以很方便的做到整個製作流程的管理了

之後再來試用看看

星期六, 2月 16, 2013

ECMAScript 5 compatibility table

http://kangax.github.com/es5-compat-table/

大概自從最早開始做的那個 COMUS 產品到現在,沒有真的好好的去研究過 ECMAScript 了。
Web 的世界變得很多,以前土法煉鋼的方式,到現在一堆 Framework

現在還有一些以前我們沒想過的,現在因為開發大型的專案,所以很多的作法也出現了

https://speakerdeck.com/addyosmani/scaling-your-javascript-applications

這幾天在研究這個 Scaling Javascript 的玩意,發現 Web 的世界越來越好玩了
以前大概動輒幾千行的程式,大概現在也不會這樣了
(我真的看過兩萬行的 js,以前的專案是很恐怖的~~~)

不過瀏覽器真的是 Web 開發者的痛,尤其 User 根本有些搞不懂差別
有些甚至還在用 IE6 那種連微軟都不想支援的東西
但是,開發者有時候還是得支援這種老舊的瀏覽器,不然『長官』們會說你的系統有問題

現在也要慢慢的回頭了解一下目前的規格了
所以作個記錄,連 Windows 8 的應用程式都支援 Javascript+HTML5,Gnome 也可以用 javascript 來寫 Ap,Nodejs 最近更是紅的不得了。

改天真的可以用 javascript 吃遍前後端,我想~~~
還好我 1998 年就開始用 Javascript ,現在看程式碼還不會很吃力
慶幸~

星期三, 10月 19, 2011

BootStrapp

BootStrapp,從 http://blog.xdite.net/ 看到這個東西

發現工程師越來越懶了。不過就是因為懶,所以發明了很多東西
我其實也有很多發想,想到可以用這個東西來做一些事情
不過,現在專案不太做 Web 的東西,所以好像現在用不太到

先記下來~

星期五, 12月 11, 2009

Office 2010 beta 研討會聽後感 - 大家都在搞雲端

今天參加了 Office 2010 beta 研討會,其實當初主要想要參加,是因為看到他有要介紹有關 Online Document 的機制部份
以為是有所謂『技術』成份在裏面,也想順便參考看看

不過,今天到了會場之後就知道不是這樣了
因為會場其實是個用來做展示的會場,沒有桌子,只有椅子的場地。基本上這種場地,就是拿來做一些 PreSale 用的
自然,今天聽完之後,的確也就如剛開始所預料的這樣
但是也不能說沒有甚麼收穫啦~~~

基本上今天的這個展示,主要是針對 Office 2010 beta 目前已經可以使用的部份做一些 key point 的說明以及 demo
我想大致上不外乎幾個重點
  1. 協同作業
  2. 易用性
  3. 雲端
整個部份來說,不管是後端或者是使用者端,都有著很大的調整
因為當整個 Office 走到雲端去之後,有很多東西,其實搭配起來的效果是很明顯的改善以及方便性
這也是最近整個 IT 正在推行的一股風潮~~~ 微軟最近也是在推所謂的 Private Cloud~~~ 主要就是針對大宗的企業用戶
就算我不是甚麼趨勢評論家,也看的出來這件事情

不過整個上午,其實倒是還蠻無聊的,因為,講師對 Office 的簡化這件事情,重複了不下十次之多
一直不斷的在強調,微軟的功能表以及工具列,在早期的 1.0 演化到 2003 已經多到沒地方放了。導致很多功能沒人會去用
所以 Office 2007 之後的 Robbin Bar (其實我一聽到這個名詞也是丈二金剛摸不著頭腦,其實就是 Office 2007 新的工具列樣子)改良,讓整個功能表以及工具列 Smart 起來了~~~
恩~~~我現在很少用 Office ,就算有用也還是在用 2003, 所以不太清楚

當然還有很多改進以及優點,我聽完之後其實還蠻有感覺的
因為很多缺點其實自己也都是感同身受。只是真的慢慢會發現,IT 會不斷的增加新功能,讓整個工作方式做改變
目的就是要讓工作這件事情能夠更簡單、更方便、更容易協同作業

不過我覺得還是回到一個老問題:到底誰真的會應用???
會發現『習慣』這件事情真的是很多軟體的殺手,只要習慣於應用某些方式來作業,大多數(如果以 20/80 法則來看)不會去用新的東西
除非這樣東西相當明顯,相當容易入手,而且你的周圍所有人都在改用。而且還要很好玩~~~像是 Facebook 一樣

不過這讓我想到很多事情,像是我們這些搞專案的,是不是這樣就不用再搞甚麼文件管理了呢?
因為 SharePoint 就已經可以幫忙做到了,只是要怎樣應用呢?還是得想勒........

另外對我們這些做軟體的,要另外想的是,當雲端真的已經是一個趨勢以及一個潮流的時候,對使用者來說是可以慢慢的熟悉
但,我們是不是已經準備好,做雲端的軟體這件事情了呢?

後話:
我這個對發票從來沒有中過,抽獎幾乎是與我無緣。今天的研討會竟然最後的抽獎有抽到我
雖然只是一張電影兌換卷,但是讓我很驚訝,很想今天就把它給換掉,避免夜長夢多(因為我不太覺得這是件好事,不知道為甚麼)
不過看到 Avator 在下星期上映,所以就忍下來了
不知道這幾天眼皮跳,還會不會有甚麼後話就是..........

Powered By Blogger