我喜歡Durandal和KO框架,我只是覺得它們是一個更優雅,更簡單的解決方案。離子框架相當於Knockout?
但是與谷歌角背後所享有更好的營銷成功,因此定製的更多的選擇。
現在是有相當的性質上的KO結束離子的東西嗎?或者戰爭已經勝利,我只需要繼續前進。
我喜歡Durandal和KO框架,我只是覺得它們是一個更優雅,更簡單的解決方案。離子框架相當於Knockout?
但是與谷歌角背後所享有更好的營銷成功,因此定製的更多的選擇。
現在是有相當的性質上的KO結束離子的東西嗎?或者戰爭已經勝利,我只需要繼續前進。
我相信只要重新使用Ionic CSS(就像使用Bootstrap一樣)來獲得適合移動設備的樣式,然後連接一些KO綁定以使其響應用戶的操作。
一個簡單的例子:假設你想使一個標籤式界面(我從the docs標記)
<div class="tabs-striped tabs-top tabs-background-positive tabs-color-light">
<div class="tabs">
<a class="tab-item active" href="#">
<i class="icon ion-home"></i>
Test
</a>
<a class="tab-item" href="#">
<i class="icon ion-star"></i>
Favorites
</a>
<a class="tab-item" href="#">
<i class="icon ion-gear-a"></i>
Settings
</a>
</div>
</div>
隨着離子你就必須利用ion-tabs,但迪朗達爾/ KO你有compose
和看法:
<div class="tabs-striped tabs-top tabs-background-positive tabs-color-light" data-bind="delegatedHandler: 'click'">
<div class="tabs" data-bind="foreach: tabs">
<a class="tab-item" href="#" data-bind="delegatedClick: $parent.setView.bind($parent), css: {active: isActive}">
<i class="icon" data-bind="css: icon"></i>
<span data-bind="text: title"></span>
</a>
</div>
</div>
<div data-bind="compose: {view: activeView, cacheViews: true}"></div>
,然後添加一個摘心在你的虛擬機:
return {
tabs: [
{title:'Test', view: 'test.html', icon: 'ion-home', isActive: ko.observable(false)},
{title:'Favourites', view: 'favs.html', icon: 'ion-star', isActive: ko.observable(false)},
...
],
,activeView: ko.observable(),
,setView: function(view) {
this.activeView(view.view || view);
this.tabs.forEach(function(v){
v.isActive(v.view === viewName);
});
}
}
這只是給你一個可能的方法的想法。畢竟角度和KO非常相似...而且大多數離子的JS組件已經在durandal中實現了(例如navigation與路由和組合非常相似)。
TL; DR 不知道任何其他的KO /迪朗達爾,但會用自己的方式可能是一個更好的選擇。
我從離子明白什麼是圍繞核心科爾多瓦混合架構的包裝。正如你所提到的,它的設計思想是到處使用AngularJS。除了是一個包裝,它還提供了額外的插件。
所以基本上如果你願意,它只是NG開發人員的簡化。我不想說它做得不好,但實際上你也可以用Durandal的Knockout &來完成所有這些。到目前爲止,我已經用Cordova + Durandal構建了一些演示應用程序,並且不得不說它越來越好,特別是Cordova提供的節點cli工具可以加速開發。在我看來,採取這種方式的一大優點是您可以完全自由選擇您選擇的框架和庫。
澤瓦,你在向合唱團傳道:) – Alwyn 2014-09-11 07:21:45
離子不是科爾多瓦周圍的包裝。它實際上是一個AngularJS模塊,它提供用戶界面控件,就像您在本機應用程序SDK中一樣。您可以在不使用Ionic的情況下使用Cordova和KO/Durandal,但您必須完成構建用戶界面控件(或使用GUI框架並構建支持邏輯以連接到KO/Durandal)的工作。 – 2014-09-11 23:59:29
儘管它使用Cordova或PhoneGap(取決於您的構建方案),但例如Ionic CLI構建在Cordova CLI之上。提供的東西就像Angular Modules/Services/Directive沿着Sass的GUI組合一樣。您可以在沒有Angular的情況下將GUI用於其他框架,但當然沒有交互性。 – zewa666 2014-09-12 05:40:07
這個問題不適合堆棧溢出,因爲沒有正確或錯誤的答案。也許你想在http://programmers.stackexchange.com上發佈這個。 – 2014-09-11 06:11:57
我正在尋找替代品或定製Ionic框架,將與KO/Durandal一起使用。 – Alwyn 2014-09-11 06:12:50