1. Sencha Touch 환경설정

1) Sencha Touch Framework Down : http://www.sencha.com/products/touch/download

2) Theme 설정 : 메뉴 > window > preferences > Aptana Studio > Themes > Aptana Studio 2.x

3) 프로젝트 생성 : 메뉴 > File > New > Project > Web Project > “sencha0403-01”

4) 좌측 상당 탭에서 Project Explorer 탭선택, 생성된 프로젝트 하위로 미리 받아놓은

  “sencha-touch-2.0.0-gpl”을 끌어다 놓음.

5) “sencha-touch-2.0.0-gpl” 선택 : 메뉴 > File > New > Folder > “workspace” 선택

 

 

 

2. HTML 실습

1) workspace 폴더 : 메뉴 > File > new > file -> “index.html”

2) 아래 내용 입력

 <!DOCTYPE html>

<html>

    <head>

        <title>Hello World</title>

    </head>

    <body>

        Hello World!!

    </body>

</html>

3) Run 실행 : Safari에서 확인

 

3. JavaScript 실습

  1) Run 브라우저 선택 : 툴바 > Run Configurations > Web Browser > Browser executable : 설정

 

 

Word파일 다운받기 :  모바일 웹앱 전문 개발자 과정_0403.docx

 

 

Posted by 꿈을펼쳐라
,

1. 모바일 웹앱 프레임워크

1) jQTouch

- 가장먼저 공개

- Markup 기반의 쉬운 개발 스타일

- MIT 라이선스

- 단순한 기능 (쉽고 간단함)

- HTML5, CSS3 지원

- 작지만 모바일에 최적화된 UI , 서로다른 2가지 테마

2) jQuery Mobile

- 가장 늦게 공개

- Markup 기반의 쉬운 개발 스타일

- jQuery 팀에서 개발

- MIT 또는  GPL 라이센스

- 테마롤러 지원 (TOOL)

3) Sencha Touch : (주 학습 대상)

  - ExtJS 진영에서 개발

  - 스크립트 기반 스타일의 개발방식

  - 자유로운 표현 가능

  - Sass 기반의 테마 시스템

  - 다양한 터치 이벤트

4) 한눈에 비교하기

 

jQTouch

jQuery Mobile

Sencha Touch

개발난이도

낮음

보통

높음

표현자유도

낮음

보통

높음

개발방식

마크업

마크업

스크립트

테마

CSS, sass

CSS 테마롤러

Sass

기반 스크립트

jQuery

jQuery

ExtJS

라이브러리 크기

작음

중간

최적화대상

(아이)

&테블릿

&테블릿

지원기기

한정적

다양한

중간

 

2. 준비사항

1) HTML5

2) CSS3

3) JavaScript

 

3. 개발툴 :

1) Aptana studio  : www.aptana.com

 

 

 

 

Word 파일 다운 받기 :모바일 웹앱 전문 개발자 과정_0402.docx

 

Posted by 꿈을펼쳐라
,

win32를 사용하여 함수 하나로 Tool Tip을 구현하는 방법


void CreateToolTipForRect(HWND hwndParent)
{

 HINSTANCE hInst = (HINSTANCE) ::GetWindowLong(hwndParent,GWL_HINSTANCE);

 INITCOMMONCONTROLSEX ic;
 ic.dwSize = sizeof(INITCOMMONCONTROLSEX);
 ic.dwICC = ICC_TAB_CLASSES;
 InitCommonControlsEx(&ic);
 // Create a ToolTip.
 HWND hwndTT = CreateWindowEx(WS_EX_TOPMOST,
  TOOLTIPS_CLASS, NULL,
  WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,  
  CW_USEDEFAULT, CW_USEDEFAULT,
  CW_USEDEFAULT, CW_USEDEFAULT,
  hwndParent, NULL, hInst,NULL);

 SetWindowPos(hwndTT, HWND_TOPMOST,
  0, 0, 0, 0,
  SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);

 // Set up "tool" information.
 // In this case, the "tool" is the entire parent window.
 TOOLINFO ti = { 0 };
 ti.cbSize = sizeof(TOOLINFO);
 ti.uFlags = TTF_SUBCLASS;
 ti.hwnd = hwndParent;
 ti.hinst = hInst;
 ti.lpszText = TEXT("This is your ToolTip string.");;
 GetClientRect (hwndParent, &ti.rect);
 // Associate the ToolTip with the "tool" window.
 SendMessage(hwndTT, TTM_ADDTOOL, 0, (LPARAM) (LPTOOLINFO) &ti); 
// SendMessage(hwndTT, TTM_ACTIVATE, true, NULL);

}

Posted by 꿈을펼쳐라
,
1. 추상 클래스(abstract class)
1) 정의 : 하나 이상의 추상함수를 갖고 있는 클래스 
  ※ 추상함수 : 함수의 정의부만 선언되어 있고 구현부는 선언되어 있지 않음 함수

2) 사용목적 
   ㄱ) 종속적인 부분과 공통적인 부분을 구분하기 위하여 사용.  
   ㄴ) 반드시 상속 클래스가 구현해야하는 메소드를 지정하기 위함 
   ㄷ) 설계단계에서 실제 구현을 뒷단으로 미루기 위함.

3) 주요 특징
   ㄱ) 추상 클래스를 직접 new로 객체를 생성할 수 없음. 
   ㄴ) 추상 클래스를 상속받은 클래스가 추상 메소드를 구현해야 인스턴스를 생성할 수 있음.


  [C# 사용예]
//define abstract class
public abstract class GeoObject
{
protected int id; 
double* pVertex;
public abstract double calculateArea();  // define abstract function empty
}

//define child class
public class Polygon : GeObject
{
public override double calculateArea()  // define abstract function as override
{
      ......   
}
}


  [C++ 사용예]  추상함수 == 순수 가상함수 
//define abstract class
public class GeoObject
{
protected int id; 
double* pVertex;
public virtual double calculateArea() = 0;  // define abstract function empty
}

//define child class
public class Polygon : GeObject
{
....
public override double calculateArea()  // define abstract function as override
{
      ......   
}
...
}


2. 인터페이스 (Interface) for C#
1) 정의
   ㄱ) 내부 멤버는 전부 추상임 (public abstract가 자동으로 붙음 : 구현없이 선언만 이루어짐) 
   ㄴ) method, property, indexor, event만을 멤버로 갖을 수 있음. 
   ㄷ) 인터페이스에서 상속받은 클래스들은 반드시 모든 멤버들을 재 정의해서 사용해야 함.

2) 주요 특징
   ㄱ) 다중 상속이 가능
   ㄴ) 자식 클래스에는 별도의 "override" keyword를 붙이지 않아도됨.

  [사용예 for C#]
//define interface
public interface INode
{
void disp(); // abstract method 
int Y { set; get;}  // property
}

//define child class
public class MyNode: INode
{
int y;

 
public void disp()
{
.....
}
public int Y     // property
{
set { y = value;}
get { return y;}
}
}

Posted by 꿈을펼쳐라
,
Posted by 꿈을펼쳐라
,