Derby 0.6.0-alpha3がリリースされました



DerbyJsは、リアクティブなフルスタックjavascriptフレームワークです。 彼についてはダービーのハブラー資料を繰り返し書いた。 ほんの数日前、 Derbyリポジトリで、メインブランチが変更されました。 バージョン0.5が背景にフェードインし、0.6がメインです。



PRを行うことは開発チームの伝統ではありません-変更は静かに、そしていつの間にか起こりました。 しかし、何が変わったのでしょうか?



残っているもの、変わったもの



そのため、モデルとリアクティブデータ(racerjs、sharejs)に関係する部分は完全に変更されず、高速で安定しています。 苦労した主な問題は、サブシステムのレンダリングが遅いこと、その不安定性、ダーティコードです。



そのため、現時点では、標準化とレンダリングを担当する部分は完全に書き直されています。 パフォーマンスが大幅に向上しました。 esprimajsのフォークがプロジェクトに追加されました-現在、任意のjavascript式をテンプレートで使用できます。 コードがより明確になりました-システムはよりスケーラブルです。



新しいコンポーネントシステムが作成され、 ドキュメントが記述れています。



サーバーヌードルは、別のダービースターターモジュールに移動しました。 ダービーアプリが美しく軽量になりました。 変換されたexamples ディレクトリの 1つを見てください。



いくつかのコード例



これらは私がすぐに引き出したほんの数例であり、多くのことが私の注意を逃したと思います。



/*   #,   */ {{each _page.list as #todo, #index}} /* dervy:view -  view*/ <view name="todo"></view> {{/}}
      
      







  /*x-bind  'on-'         JS*/ <button on-click="model.set('titleColor', this.name)">Select</button>
      
      







 {{each _page.people}} <tr> /* .     this - -    */ <td><a href="/people/{{this.id}}">{{this.name}}</a></td> <td>{{this.phone}}</td> <td><a href="mailto:{{this.email}}">{{this.email}}</a></td> <td><a href="http://twitter.com/{{this.twitter}}">{{this.twitter}}</a></td> <td>{{this.gender}}</td> </tr> {{/}}
      
      







 //  app.fn -  app.proto,      // ,  ,      ,    app.proto.cancel = function() { app.history.back(); };
      
      







Todoコンポーネントの例



 <Body:> <view name="todos-new" on-submit="list.add()" label="Add todo" autofocus> </view> <view name="todos-list" as="list" items="{{_page.items}}"> </view> <todos-new:> <form on-submit="submit()"> <input type="text" value="{{value}}" placeholder="{{@placeholder}}" autofocus="{{@autofocus}}"> <button type="submit">{{@label}}</button> </form> <todos-list:> <ul> {{each @items as #item, #i}} <li> <input type="checkbox" checked="{{#item.checked}}"> {{#item.text}} <button type="button" on-click="remove(#i)">Delete</button> </li> {{/each}} </ul>
      
      







 app.component 'todos-new', class TodosNew submit: -> value = @model.del 'value' @emit 'submit', value app.component 'todos-list', class TodosList add: (text) -> @model.push 'list', {text} remove: (index) -> @model.remove 'list', index
      
      







PS

過去数日間で、スプリントペースの6番目のバージョンは1から3のアルファバージョンになりました。 近い将来、ベータ版がリリースされる予定です。



PPS

derby-examplesリポジトリのサンプルをご覧になりたい方は、新しいバージョン用に完全に再設計されたすべての人にお勧めします。



All Articles