본문 바로가기

모바일앱/Sencha Touch

[센차터치2-1] Sencha Touch 2 시작하기

[센차터치2-1] Sencha Touch 2 시작하기

 

1. 소개

2. 특징

3. 개발환경설정

4. 클래스 이해및 활용

  

Sencha Touch2는 Ext.JS4를 위해 개발된 클래스 시스템을 그대로 사용할 수 있다.  Sencha Touch API에서 제공하는 클래스들을 잘 활용하기 위해서는 클래스의 작성방법과 사용법을 잘 숙지하는것이 좋다.


클래스정의:

  Ext.define()메소드를 사용하여 정의한다. 


  방법1:

  Ext.define("클래스명", {

     field: 디폴트값,

     constructor:function(생성자매개변수) { . . . },

     method:function(메서드매개변수) { . . .}

  });


  방법2:

  getter,setter메서드가 많은 경우는 config를 사용하여 간단하게 클래스를 정의할 수 있다.

  Ext.define("클래스명", {

     constructor:function(생성자매개변수) { . . . },

     config: {

        변수명: 디폴트값,

        변수명: 디폴트값

     }

     method:function(메서드매개변수) { . . .}

  });


정의된 클래스로 객체 생성하기

var obj=new 클래스명(생성자매개변수값);   // 객체를 생성하기 위해 반드시 클래스가 로딩되어 있어야 한다.

                                                            // Ext.require("클래스명") 을 사용하여 동적으로 로딩할 수 있다. 

var obj=Ext.create("클래스명",생성자매개변수값);  // 객체생성시 클래스가 로딩되어 있지않으면 자바스크립트파일

                                                                      // 에서 클래스를 로딩한 후 객체를 생성한다.


클래스 정의/생성/사용예


Ext.define("User",{
	constructor: function(config) {
		this.initConfig(config);
	},
	config: {
		name: null,
		age: null
	}
});

var user=Ext.create("User", {
    name: "Sencha",
    age: 2
    }
);

document.write(user.getName()+"<br/>");
document.write(user.getAge()+"<br/>");

user.setName("홍길동");
user.setAge(3);

document.write(user.getName()+"<br/>");
document.write(user.getAge()+"<br/>");




5. 웹앱시작하기


Sencha Touch 프레임워크를 사용하여 웹앱을 만들기위해서는 우선 Sencha Touch의 기본테마와 API 정의 파일을 <link>,<script>로 HTML 파일에 포함시킨다.


<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="resources/css/sencha-touch.css"/>
<script type="text/javascript" src="js/sencha-touch-debug.js"></script>
</head>
<body>
</body>
</html>


웹앱을 시작하기위한 초기화 코드작성


Sencha Touch2는 Ext.application()메소드를 호출하면서 시작된다. 

<script type="text/javascript">

    Ext.Loader.setConfig({enabled:true});   // 외부자바스크립트 클래스를 동적으로 로딩, 

                                                            // 외부클래스를 사용하지 않는다면 생략해도 된다.

    Ext.application({                                

name:"Test1",

launch:function() {}

    });

</script>


Ext.application()의 매개변수값은 Config Object을 이용하여 웹앱 초기화 정보를 전달한다.

name은 웹앱의 이름이며, MVC패턴에서는 Model, View, Controller의 루트네임스페이스로 사용된다.

launch는 웹앱을 시작하는 HTML이 완전히 로딩되었을때 자동으로 실행되는 콜백 함수이다.



'모바일앱 > Sencha Touch' 카테고리의 다른 글

[센차터치2-6] 테마  (0) 2012.11.27
[센차터치2-5] 통신  (0) 2012.11.27
[센차터치2-4] 이벤트 처리  (0) 2012.11.27
[센차터치2-3] 화면 내비게이션  (0) 2012.11.27
[센차터치2-2] UI  (0) 2012.11.27