TheSpecUIframework:Chapter 01
- 제 1 장 서문
서문
Spec 은 사용자 인터페이스를 만드는 Pharo 의 프레임웍 입니다. 그리고 Spec 을 이용해서 몇 개의 버튼이있는 작은 창에서부터 디버거와 같은 복잡한 도구에 이르기까지, 다양한 종류의 UI 들을 만들 수 있습니다. 실제로 Pharo 의 여러 도구들은 Spec 으로 만들어졌으며, 예를들면 Watchpoint window, Komitter, Change Sorter, Critics Browser, 그리고 Pharo 3 디버거등이 그 예입니다.
Spec의 기본 원리는 사용자 인터페이스 로직과 시각적 구성의 재사용입니다. 사용자 인터페이스는 기존 사용자 인터페이스를 재사용 및 구성하고, 필요할때 설정하는 등을 통해 구성됩니다. 이 원칙은 UI의 가장 원시적인 요소에서 부터 시작됩니다: 단추 및 레이블과 같은 위젯 자체는 자체 UI에서 재사용, 구성 및 오픈이 가능한, 완전한 UI입니다. 이 요소들은 결합되어 더 복잡한 UI를 형성 할 수 있으며, 더 큰 UI의 일부로 다시 사용할 수 있습니다. 이것은 이 책의 표지에있는 서로 다른 타일을 결합하는 방법과 다소 비슷합니다.[1]서로 다른 색상이나 패턴으로 구성된 작은 타일은, 더 큰 바닥 디자인의 일부인 더 큰 직사각형 모양을 이루기 위해 연결됩니다.
이러한 재사용을 허용하기 위해 Spec은 VisualWorks 및 Dolphin Smalltalks 의 Model View Presenter (MVP) 패턴의 영향을 받았습니다. Spec 은 위젯과 도메인 객체 간의 로직 및 연결을 관리하는 Presenter 또는 ApplicationModel(Spec 에서 ComposableModel 이라 불리는) 클래스의 필요성을 인정합니다. 근본적으로, Spec 코드를 작성할 때 개발자는 UI 위젯과 접촉하지 않으며, 대신에 UI 로직을 가지고 있는 ComposableModel 을 프로그래밍 합니다. 프로그래머에게는 이 구분이 분명하지 않고, 위젯이 직접 프로그래밍되어있는 것처럼 느껴지게 됩니다.
Spec은 Pharo의 표준 UI 프레임 워크이며 다른 UI 프레임 워크(Morphic 및 GT 도구)와 다릅니다. Morphic 은 원래 Self 개발언어 용으로 제작 된 범용 그래픽 시스템이며 나중에 Squeak(Pharo의 조상)에 포함 되었습니다. Morphic 은 표준 UI 위젯을 제공하며, Spec 에 의해 UI 를 렌더링하는 데 사용되지만, 그정도에 제한되지 않고 모든 종류의 그래픽 모양을 작성하는 데 사용할 수 있으며 직접 조작 할 수 있습니다. Spec 은 버튼, 리스트(목록) 등과 같은 일반적인 GUI 위젯을 가진 애플리케이션을위한 사용자 인터페이스만 빌드 할 수 있다는 점에서 Morphic 보다 제한적입니다. GT Tools 는 개발 도구의 영역을 대상으로하기 때문에 Spec 보다 더 제한적입니다. 따라서 GT Tools 는 개발 환경에서 일반적인 레이아웃과 작업의 흐름에 대상으로 UI 구성을 제한하고 단순화합니다.
Spec 은 이러한 제한이 없기 때문에 UI를보다 복잡하게 만들 수 있으며 더 다양한 UI를 작성할 수 있습니다.
현재까지 Spec 의 중요한 단점이라면, 좋은 품질의 문서가 없다는 것입니다. 문서가 흩어져서 이해하기 어려우며, 전반적으로 사용자 친화적이지 않았습니다. 우리는 이런 문서에 대한 단점이 Spec 을 사용하려 할때 불필요한 장애물이 되고 있다고 생각했기 때문에 이 문제를 해결하기 위해이 책을 작성했습니다. 이 책의 내용은 기존의 Spec 문서를 기반으로하지만, 거의 모든 텍스트는 더 나은 품질의 문서로서 제공되기 위해 완전히 다시 작성되었습니다. 우리는 이 책이 Pharo 에서 UI 개발 경험을 크게 향상시킴으로써, UI 를 작성해야하는 개발자에게 유용할 것으로 기대합니다.
Spec 은 Pharo 3 이상에서 표준으로 제공되지만 Pharo 5 및 6 버전에 초점을 맞추고 있습니다. Pharo 의 이전 버전 및 이후 버전에서는 Spec 의 구현이 다를 수 있으므로 이 책의 예제 코드는 작동하지 않습니다. 그럼에도 불구하고 Spec 의 UI 개발에 대한 기본 원칙은 유지 될 것이며, 예제 코드에 대한 변경부분은 작을겁니다. |
이 책은 다음의 설명을 참고해서 읽어주시면 됩니다: 2 장과 3 장은 Spec 을 처음 다룰때에 대한 내용 및 Spec 의 핵심인 재사용에 대해 이야기합니다. 이 챕터는 Spec 초보자라면 정독해야 합니다. 4 장에서는 Spec 의 기본 사항을 다루며, Spec UI의 여러 부분이 어떻게 연동되는지에 대해서 개념적인 개요를 추가로 알려줍니다. 기본적인 내용을 더 잘 이해하면 모든 사용자 경험 수준에서 UI 개발이 쉬워 지므로 모든 Spec 사용자에게 권장되는 내용입니다. 5 장과 그 이후는 필요할 때 읽을 수있는 레퍼런스로 고안되었습니다. 즉, 제 5 장에서는 모든 UI에 필요한 레이아웃을 처리한다는 얘기입니다. 따라서 모든 Spec 사용자는 이 내용을 읽음으로서, 가장 좋은 방법으로 UI 레이아웃을 구성 할 수 있습니다. 마지막으로, 9 장에서는 다양한 설정에서 유용 할 수있는 팁과 트릭을 제공하기 때문에, 이 책의 모든 독자에게 적어도 한번정도 훝어볼 것을 권장합니다.
Notes
- ↑ 정식판의 표지를 의미하는듯