I почувствовал, что переход на титановый сплав от классики был для меня прав. Я чувствовал, что классическая разработка Titanium не была достаточно структурирована и не давала мне достаточного руководства для хорошего способа структурирования моего приложения. Сплав обеспечивает структуру MVC для вашего кода, но классика не полностью препятствует тому, чтобы вы откатились от своей собственной или использовали одну из библиотек сообщества с возможностями MVC. В этом отношении, я думаю, я бы сказал, что более гибко использовать классику над сплавом, потому что вы можете выбрать, как выполнить свою структуру, а не встраивать в структуру титанового сплава. Сказанное, я никогда не чувствовал себя ограниченным Сплавом.
Как вы развиваетесь в титане, это ваши предпочтения. Нет правильного ответа на использование сплава или использование классики. Если кто-то работает лучше для вас, используйте его. Я чувствую, что структурированный подход к разделению дисплея и бизнес-логики Alloy предоставляет мне структуру, которая имеет смысл для меня при разработке приложения.
Я не нашел, что сплав менее гибкий, чем классический. Так как вы можете использовать классический код в своем проекте Alloy, вы можете в значительной степени сделать все в сплаве, что вы можете в классическом.Я уверен, что это некоторые случаи с краями, с которыми я не сталкивался, когда один может быть проще другого при кодировании определенного типа приложения. Может быть, классика менее гибкая, потому что я не думаю, что вы можете использовать Alloy в своем классическом приложении. Я не верю, что компилятор будет знать, как это сделать.
Всякий раз, когда я оцениваю, буду ли я использовать конкретную технологию, я делаю серию экспериментальных мини-программ, чтобы убедиться, что все возможности присутствуют в моих приложениях. Если я чувствую, что это не подходит или слишком сложно достичь этих требований, я не использую эту технологию. Например, когда я переключился на Alloy, я убедился, что библиотека Ti.Paint все равно будет работать. Если бы я этого не сделал, я бы все равно использовал классику.
Как и у классики, есть элементы управления для сплава. Там уже есть довольно гладкий сплайс-меню для раздвижного меню. Я использую библиотеку Ti.Paint, существовавшую до сплава и не являющуюся специальным модулем сплава.
http://gitt.io/ - достойная отправная точка для поиска модулей или виджетов Сплав.
index.xml
<Alloy>
<Window id="win">
<View id="content" />
</Window>
</Alloy>
1) В вашем index.js файла, вы бы следующим использовать классическое кодирование для манипулирования вида сплава.
index.js
var myview = Ti.UI.createView({
backgroundColor: 'green'
});
$.content.add(myview);
2) Я не думаю, что вы можете использовать сплав код в классическом проекте. Как вы уже упоминали ранее, он должен выполнять перевод кода, и классический проект, скорее всего, пропустит этот шаг в этом процессе.
3) Вы спрашиваете, можете ли вы включить или удалить части кода на основе, если это Android или IOS? Вероятно, вы могли бы сделать это с помощью операторов include/require, стратегически размещенных между операторами if (Ti.Platform.osname == "android"), которые потребуют или не требуют кода. Если код предназначен для Android, для этого требуется, если он нужен для IOS, в этом случае.
4) Никогда не пытались проверить производительность между классическими и сплавными проектами. Я думаю, так как я переключился и никогда не замечал проблемы, которая беспокоила меня или моих клиентов, я никогда не задумывался над этим. Вполне возможно, что Alloy автоматически генерирует код, который в некоторых случаях медленнее. Я этого никогда не замечал.
Я чувствую, что эффективность, которую я получаю от использования сплава, намного превосходит это как непосредственную проблему. Плюс, если бы я чувствовал, что мне не нравится, как особый контроль был создан через Alloy, я мог бы использовать классический код и определить, что сам контроль, который контролирует определение из классического проекта.