2012-09-06 3 views
1

티타늄에서 네이티브 코드는 어떻게 생성됩니까 ?? 나는 인터넷에서 documentaion을 읽었고, 나는 그것만으로는 고차원 아키텍처를 이해할 수 있지만, 깊이있는 작업에 대한 더 자세한 정보가 필요하다. 예를 들면. Ti.UI.createButton()을 사용하여 Titanium에 버튼을 만들면 어떻게이 코드가 기본 코드와 바인드되고 기본 코드를 사용하는 것과 동일한 버튼을 얻을 수 있습니까?티타늄에서의 네이티브 코드 생성

UIButton 객체가 생성되어 반환 되었습니까 (abt iOS 전용) 또는 실행 흐름이 다른가요? 또한 더 나은 이해를 위해 네이티브 코드를 어디에서 봐야합니까?

답변

1

우선 플랫폼마다 작동 방식이 다르므로 플랫폼이 매우 구체적이기 때문에 효과적으로 일반화하는 것은 불가능합니다.

iOS 용 티타늄은 KrollObject이라는 기본 브리지 래퍼 객체를 사용합니다. 이러한 프록시 객체는 Javascript 객체에서 네이티브 코드의 네이티브 객체로가는 다리를 형성합니다. UIButton 유스 케이스의 경우 UIButton이 생성되었지만 자바 스크립트로 반환되지 않으면 Kroll 브리지를 통해이를 제어합니다. (부수적으로, Kroll은 소재 티타늄을 정제하는 과정입니다.)

실제로 모듈을 작성하는 방법에 대한 실제적인 세부 사항을 알 필요는 없습니다. 특히 거대한 양의 기본 플랫폼 지식이 필요합니다 (이 경우 티타늄을 사용하지 않아도됩니다).

Here is a great video on how it all works from the last Codestrong. 개체의 가비지 수집 및 수명주기가 실제로 어떻게 작동하는지 알고 싶다면이 비디오를 살펴보십시오.