고전에서 티타늄 합금으로의 전환이 나에게 옳았다 고 느꼈다. 나는 고전적인 티타늄 개발이 충분히 구조화되지 않았거나 내 응용 프로그램을 구성하는 좋은 방법에 대한 충분한 지침을 제공하지 못한다고 생각했다. Alloy는 코드에 MVC 구조를 제공하지만 고전적으로 자신을 굴리거나 MVC 기능이있는 커뮤니티 라이브러리 중 하나를 사용하는 것을 완전히 막을 수는 없습니다. 이 점에서 나는 티타늄 합금의 구조에 맞추는 대신 구조를 수행하는 방법을 선택할 수 있기 때문에 합금에 클래식을 사용하는 것이 더 유연하다고 말합니다. 즉, 나는 결코 합금에 의해 제한을 느낀 적이 없다.
티타늄으로 개발하는 방법을 선호합니다. Alloy 사용 또는 고전 사용에 대한 정답은 없습니다. 당신을 위해 더 잘 작동한다면, 그것을 사용하십시오. Alloy가 디스플레이 및 비즈니스 로직을 분리하는 구조화 된 접근 방식은 나에게 앱을 개발할 때 나에게 의미있는 구조를 제공한다고 생각합니다.
합금이 클래식보다 유연성이 떨어지는 것을 발견하지 못했습니다. Alloy 프로젝트에서 고전적인 코드를 사용할 수 있으므로 고전에서 할 수있는 모든 것을 Alloy에서 할 수 있습니다.특정 유형의 응용 프로그램을 코딩 할 때 다른 것보다 더 쉬울 수도있는 몇 가지 중요한 경우가 있습니다. 클래식 앱에서 합금을 사용할 수 있다고 생각하지 않기 때문에 클래식이 유연성이 떨어질 수 있습니다. 나는 컴파일러가 그것을 어떻게 만드는지 알지 못한다.
특정 기술을 사용 할지를 평가할 때마다 필자는 일련의 실험용 미니 프로그램을 만들어 응용 프로그램 요구 사항에 맞게 모든 기능을 제공합니다. 만약 그것이 적합하지 않거나 그러한 요구 사항에 도달하기가 너무 어렵다면, 나는 그 기술을 사용하지 않습니다. 예를 들어 Alloy로 전환했을 때 Ti.Paint 라이브러리가 계속 작동하는지 확인했습니다. 만약 내가 아직도 고전을 사용하지 않았다.
클래식과 마찬가지로, 합금 컨트롤이 있습니다. 이미 꽤 매끄러운 합금 기반의 슬라이딩 메뉴 모듈이 있습니다. Ti.Paint 라이브러리를 사용합니다.이 라이브러리는 합금 전에 존재하고 합금 고유 모듈이 아닙니다.
http://gitt.io/은 합금 모듈/위젯을 찾기에 알맞은 시작점입니다.
당신의하는 index.js 파일에서이 Index.xml
<Alloy>
<Window id="win">
<View id="content" />
</Window>
</Alloy>
1), 당신은 합금 뷰를 조작하는 고전적인 코딩을 사용하여 다음과 같은 것이다.
하는 index.js는
var myview = Ti.UI.createView({
backgroundColor: 'green'
});
$.content.add(myview);
2) 나는 당신이 당신의 고전적인 프로젝트에 합금 코드를 사용할 수 있다고 생각하지 않습니다. 앞에서 언급했듯이 코드 변환 작업이 필요하며 고전적인 프로젝트는이 과정에서 해당 단계를 건너 뛸 수 있습니다.
3) Android 또는 IOS와 관련된 코드의 일부를 포함하거나 제거 할 수 있는지 묻는 중입니까? 아마도 if (Ti.Platform.osname == "android") 문 사이에 전략적으로 배치 된 include/require 문을 사용하여 원하는 코드가 필요하거나없는 코드를 작성할 수 있습니다. 안드로이드 용 코드라면 IOS 용 코드라면 필요하다.
4) 클래식 프로젝트와 합금 기반 프로젝트 간의 성능을 확인하지 않았습니다. 나는 생각하기에, 전환 한 이후로 나 또는 고객을 괴롭히는 문제를 발견하지 못했기 때문에 결코 그것에 대해 많은 생각을 기울이지 않았다. Alloy가 일부 경우 느린 코드를 자동으로 생성 할 가능성이 있습니다. 나는 결코 그것을 알아 채지 못했다.
나는 합금을 사용하면서 얻을 수있는 효율성이 즉각적인 우려보다 중요하다고 생각한다. 또한, 특정 컨트롤이 Alloy를 통해 만들어진 방식이 마음에 들지 않았다면 클래식 코드를 사용하고 클래식 프로젝트의 정의를 모두 제어 할 수있는 컨트롤을 정의 할 수있었습니다.