I poczułem, że przejście na Titanium Alloy z klasyki było odpowiednie dla mnie. Czułem, że klasyczny rozwój Titanium nie był wystarczająco rozbudowany, ani nie dostarczył mi wystarczających wskazówek na temat dobrego sposobu na uporządkowanie mojej aplikacji. Alloy dostarcza strukturę MVC do twojego kodu, ale klasyczne nie uniemożliwiło ci całkowitego rozwijania własnych lub używania jednej z bibliotek społecznościowych z możliwościami MVC. Pod tym względem wydaje mi się, że bardziej elastycznie byłoby używać klasyki niż Alloy, ponieważ można wybrać sposób wykonania swojej struktury, zamiast dopasowywać się do struktury stopu tytanu. Mimo to nigdy nie czułem się ograniczony przez Alloy.
Jak rozwijasz się w Titanium, to twoje preferencje. Nie ma właściwej odpowiedzi na używanie Alloy lub używanie klasyki. Jeśli ktoś pracuje lepiej dla ciebie, użyj go. Uważam, że ustrukturyzowane podejście do rozdziału Alloy od wyświetlania i logiki biznesowej zapewnia mi strukturę, która ma sens dla mnie przy opracowywaniu aplikacji.
Nie stwierdziłem, że stop jest mniej elastyczny niż klasyczny. Ponieważ możesz używać klasycznego kodu w swoim projekcie Alloy, możesz zrobić wszystko w Alloy, co możesz zrobić w wersji klasycznej.Jestem pewien, że są to pewne przypadki skrajne, na które nie natknąłem się, gdzie jeden może być łatwiejszy niż inny przy kodowaniu określonego typu aplikacji. Być może klasyczny jest mniej elastyczny, ponieważ nie sądzę, że możesz używać Alloy w swojej klasycznej aplikacji. Nie wierzę, że kompilator wiedziałby, jak to zbudować.
Ilekroć oceniam, czy zamierzam użyć konkretnej technologii, wykonuję serię eksperymentalnych mini-programów, aby upewnić się, że wszystkie możliwości są obecne w moich aplikacjach. Jeśli czuję, że nie pasuje lub jest zbyt trudno osiągnąć te wymagania, nie korzystam z tej technologii. Na przykład, kiedy przełączyłem się na Alloy, upewniłem się, że biblioteka Ti.Paint nadal będzie działać. Gdyby tak nie było, nadal korzystałbym z klasyki.
Podobnie jak klasyczny, istnieją elementy sterujące stopu. Istnieje już całkiem sprytny moduł przesuwny z menu Alloy. Używam biblioteki Ti.Paint, która istniała przed Alloy i nie jest modułem specyficznym dla Alloy.
http://gitt.io/ to przyzwoity punkt wyjścia do wyszukiwania modułów/widżetów Alloy.
index.xml
<Alloy>
<Window id="win">
<View id="content" />
</Window>
</Alloy>
1) W pliku index.js, trzeba użyć następujących klasyczny kodowanie manipulować widok na stopie.
index.js
var myview = Ti.UI.createView({
backgroundColor: 'green'
});
$.content.add(myview);
2) Nie sądzę, można użyć kodu Alloy w swojej klasycznej projektu. Jak wspomniałeś wcześniej, musi wykonać tłumaczenie kodu, a klasyczny projekt prawdopodobnie pominie ten krok w procesie.
3) Czy pytasz, czy możesz dołączyć lub usunąć części kodu w zależności od tego, czy jest to system Android czy iOS? Prawdopodobnie możesz to zrobić za pomocą instrukcji include/require, strategicznie umieszczonych pomiędzy instrukcjami if (Ti.Platform.osname == "android"), które wymagają w kodzie, którego chcesz. Jeśli kod jest dla Androida, wymagaj tego, jeśli dotyczy on IOS, wymagaj w tym.
4) Nigdy nie próbowano sprawdzać wydajności między klasycznymi i opartymi na stopach projektami. Myślę, że odkąd zmieniłem i nigdy nie zauważyłem problemu, który nurtuje mnie lub moich klientów, nigdy nie zastanawiałem się nad tym. Jest całkowicie możliwe, że Alloy automatycznie generuje kod, który jest w niektórych przypadkach wolniejszy. Nigdy tego nie zauważyłem.
Uważam, że wydajność, jaką uzyskuję przy użyciu stopu, znacznie przewyższa to, co jest bezpośrednim zmartwieniem. Dodatkowo, gdybym poczuł, że nie podoba mi się sposób, w jaki konkretna kontrola została stworzona za pomocą Alloy, mógłbym użyć klasycznego kodu i zdefiniować tę kontrolę, sam mając kontrolę nad definicją z klasycznego projektu.