TheSpecUIframework:Chapter 01

From 흡혈양파의 번역工房
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
제 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 를 작성해야하는 개발자에게 유용할 것으로 기대합니다.


Gnome3 notice header.png
Spec 은 Pharo 3 이상에서 표준으로 제공되지만 Pharo 5 및 6 버전에 초점을 맞추고 있습니다. Pharo 의 이전 버전 및 이후 버전에서는 Spec 의 구현이 다를 수 있으므로 이 책의 예제 코드는 작동하지 않습니다. 그럼에도 불구하고 Spec 의 UI 개발에 대한 기본 원칙은 유지 될 것이며, 예제 코드에 대한 변경부분은 작을겁니다.
Gnome3 notice footer.png


이 책은 다음의 설명을 참고해서 읽어주시면 됩니다: 2 장과 3 장은 Spec 을 처음 다룰때에 대한 내용 및 Spec 의 핵심인 재사용에 대해 이야기합니다. 이 챕터는 Spec 초보자라면 정독해야 합니다. 4 장에서는 Spec 의 기본 사항을 다루며, Spec UI의 여러 부분이 어떻게 연동되는지에 대해서 개념적인 개요를 추가로 알려줍니다. 기본적인 내용을 더 잘 이해하면 모든 사용자 경험 수준에서 UI 개발이 쉬워 지므로 모든 Spec 사용자에게 권장되는 내용입니다. 5 장과 그 이후는 필요할 때 읽을 수있는 레퍼런스로 고안되었습니다. 즉, 제 5 장에서는 모든 UI에 필요한 레이아웃을 처리한다는 얘기입니다. 따라서 모든 Spec 사용자는 이 내용을 읽음으로서, 가장 좋은 방법으로 UI 레이아웃을 구성 할 수 있습니다. 마지막으로, 9 장에서는 다양한 설정에서 유용 할 수있는 팁과 트릭을 제공하기 때문에, 이 책의 모든 독자에게 적어도 한번정도 훝어볼 것을 권장합니다.


Notes

  1. 정식판의 표지를 의미하는듯