• 트렌디한 프레임워크나 라이브러리, 최신기술보다는 원론적인 내용을 다룰것
  • 개발자로서 오래 살아남기 위해서는 기초 및 핵심기술이 중요

Graphic System

디지털 환경에서는 픽셀(점)으로 그래픽을 표현함. 모든 컴퓨터 그래픽 시스템의 기초는 비트맵 시스템임.

점을 하나하나 찍기보다는 계산에 의해 색을 채울 방법을 고민하기 시작함.

  • Layer 0 - Fixed Number : 확정되고 고정된 수치 --> Fixed Number로 반응형 환경에 대응하기 힘들었음.

(Layer 0과 1 사이의 애매함 : Drawing API, Shader, Filter, FontRenderer) --> 보통 Layer 0을 감싸고 있는 기저레이어에서 제공

  • Layer 1 - Caculator Hint : 상대적인 수치 ScreenSize, ChromeSize, Foreground, Layout System, LazyDetect, Reflow, etc.

Canvas API --> Apple의 Dashboard API 기반. Dashboard, Android Widget 등에서 쓰이는 Canvas API도 위와 거의 동일.

  • Layer 2 - Components 추상화로 미리 구현된 요소(element)들. (div, input, textarea, img, a, ...) 요소 < 노드
Hello World!

--> Static Rendering

Model(Data) - View(Layout) 기억하고 보여주고 싶은 데이터만을 추린 것이 모델. Runtime Rendering

  • Layer 3 - Frameworks

SVG (Scalable Vector Graphics)

2D 그래픽을 표현하기 위해 XML로 정의된 마크업 언어.

  • Vector Shape
  • Images
  • Text

Group, Style, Transform 가능.

  • Embedding
  • Scripting

SVG의 선, 도형 하나한가 DOM 엘리먼트로 동작하여 이벤트를 걸 수 있음.

SVG(VML) vs Canvas

DOM은 구조적으로 복잡하여 로딩 속도가 느려질 수 밖에 없음. Canvas는 단일 엘리먼트라 상대적으로 속도가 빠를 수 밖에 없음.

Tools, Library for SVG

Tools

  • Adobe Illustrator
  • CorelDRAW
  • Libre Office Draw, Open Office Draw (무료)
  • Inkscape (무료)
  • etc...

Libraries

  • D3.js
  • raphaelJS

SVG as a markup

<svg>, <img src="#" /> ...


Comments

comments powered by Disqus