SwiftUI 프로그램과의 대화

이번 2019년 WWDC에서 새로 선보인 iOS UI 프레임 워크인 Swift UI는 코드를 중심으로 보다 직관적이고 빠르게 전체적인 프레임을 구성하게 해주는 재미있는 툴셋이다.
아이폰의 UI툴셋의 기본적인 발전과정을 되돌아보면서 어떤 생각들이 더해지며 발전해 갔는지 생각헤보자!

1. 하드코딩!
처음 시작은다늘 그렇듯 하드 코딩에서 시작한다.
누구나 알다시피 예쁘게 만들기 시작하며 픽셀을 맞추기 시작하다보면 모든 것들이 미치도록 복잡해진다.

2. Interface Builder(Xib)
간단한 드레그 드랍으로 간단하게 각종 콤포넌트들을 배치하고 콜백과 각종 변수들을 컨트롤러나 뷰에 연결시킬 수 있어 많이 편해졌다.

3. Nib의 분리!
아이패드가 나오면서 UI디자일을 간단하게 양쪽 모두에 맞추기 위해 nib파일을 분리해 독자적인 레이아웃을 충족시키게 했다.

4. layout constraints 
다양한 크기의 디바이스가 미친듯이 나오면서 그 모두에 맞는 디자인을 갖추기 위해 계산해야할 사항들이 점점 늘어나는 가운데, 비율과 서로다른 콤포넌트들의 관계성에 대한 정의를 중요시 하기 시작했다.

5. Visual language
Nib 파일이 아닌로동적인 콤포넌트들에 대해서 하드코딩으로 붙이다 보면 layout constraint 인스턴스를 하나하나 하드코딩해야하는데 쓰기도 읽기도 거의 불가능한 수준이었다, 이를 조금이라도 빠르게 쓸 수 있고 어느정도 이해할 가능성 있는 형태로 개선 시킨다.

6. Story board 
개인 개발을 하는 간단한 UI의 경우 개발 시간을 극단적으로 줄여주지만 머지에 치명적인 문제점을 가지고 있기에 하나의 스토리 보드에 다섯개 미만의 화면을 넣어 잘게 쪼개는 방법을 기본적으로 추천한다.

7. Anchor 와 레이아웃 가이드
아이폰X의 등장과 함께 아이폰 상하에 터치가 들어가지 않는 영역이 생기면서 등장한 레이아웃 가이드. 그냥 조니 아이브에게 드롭킥을 선사해주고 싶다. 
 앵커는 constraint를 조금더 명료하게 발전시켰다. 특히 비쥬얼랭기지의 특성상 머지가 실패할 경우 그냥 첨부터 다시해야하는 반면, 앵커를 사용하면 라인단위로 끊을 수 있어 뻑날 가능성이 눈꼽만큼 줄일 수 있다.

8. Swift UI
정적인 디자인툴인 xib과 스토리보드를 대체할 만한 새로운 툴. 인터페이스빌더에 준하는 드래그 드랍을 통해 인간이 읽을 수 있는 코드를 만들어 머지나 리뷰를 빠르게 할 것으로 기대된며 어느정도의 동적인 변화를 집어 넣을 수 있는지는 아직 모르지만, MVC 모델의 획기적인 단순화가 가능 할 것 같다.

인공중력 작품과의 대화

 장기간 항해하는 우주선에서는 인간의 기본 환경을 위해 원심력을 이용해 인공 중력을 만든다.

원심력을 이용하는 인공중력은 무엇보다 에너지 효율이 뛰어나다. 초기에 충분한 원심력을 얻을 수 있는 토크만 있으면 그 이후에는 팽이처럼 빙글빙글 계속 돌며 원심력을 제공해 준다. 기본적으로 저항이 거의 존재하지 않는 우주 공간에서 그 회전은 멈추지 않는다.


진짜 중력과의 가장 큰 차이점은 역시 방향성의 차이. 끊임없이 물건을 뭉치게 하는 만유인력과는 정반대로 원심력은 모든 것을 흩어지게 만드는 힘이다. 지구에서 지옥이 '아래쪽'으로 설정 되었지만, 사실 그 비유는 오히려 우주의 인공중력에서 더욱 들어맞는다. 한번 구심력의 울타리에서 벗어나버리면 끊임없이 펼쳐진 '나락'으로 유실된다. 

원심중력구역의 선외작업은 농담조로 '연옥'이라 불린다. 바닥 없는 천장에 매달려 움직이며 하는 작업의 난이도나 위험도는 상상을 초월한다. 우리가 생각할 수 조차 없는 그 모든 기본적인 행동양식을 하나하나를 뒤집어서 그 뒤바뀐 행동이 자연스럽게 몸에 베어 있어야만 한다. 그 곳에서는 안전을 위한 무의식적인 반사행동 조차 오히려 자신을 위험에 빠뜨리는 가장 위험한 함정이 된다.



헬리오스 작품과의 대화

 거의 모든 물질은 초고열, 초고압 상태에선 붕괴를 하고, 그 와중에 또다시 열을 발생시키는 연쇄반응을 한다. 이러한 원자 레벨의 불안정한 융합연료를 플라즈마를 이용하여 회전 시키다 보면 재미있는 일을 할 수 있다. 특정 원자의 진동수에 맞는 진동을 지속적으로 주며 공명시키면 융합 연료의 고리에서 특정 원자들만 분리된 일그러진 고리가 나타난다. 

융합로는 에너지 뿐 만 아니라, 이러한 원자 분리과정을 통해 기본적인 우주 생활에 필요한 원재료를 채취할 수 있다.
물론 원자가가 높을 수록 채취율은 기하급수적으로 감소하기 때문에 기본적으로 채산율이 맞는 원소는 그리 많지 않지만, 기본 금속류 정도는 어렵지 않게 수급이 가능하다.


만화경속의 유니버스 사물과의 대화

천문학에서 바라보는 우주는 몇가지 재미있는 가설을 바탕으로 하고 있다.

빛의 속도. 결극 빛에도 속도가 있기에 우리가 지금 보고 있는 수많은 달과 별은 사실 상당히 오래전의 모습이다.
다크매터. 우리가 관측할 수 없는 거대한 질량들이 존재한다.
빛의 직진성. 물론 빛은 중력들에 의해 굴절 될 수 있지만 그러한 작용은 우주적으로 극히 일부로 한정되어있다.

마지막 빛의 굴절을 조금만 확장 시켜보면 우주는 생각보다 작아진다.

...다크매터들이 생각보다 빛을 많이 굴절시키고 있다면...


우리가 사실은 250만년 전의 태양계를 바라보며 안드로메다라고 부르고 있는 것일지도 모른다.

라이프 작품과의 대화

외계 생명체와의 조우. 비록 인간의 상상범위 범위 내에서 안전하다고 생각되더라도 어떻게 바뀔 지 모르는 것이 바로 미지의 와의 조우.

방사능이나 급격히 열악한 환경조건/ 폐쇄된 환경 내에서의 근친 생식은 보통 열화된 형질을 남긴다. 열화되었다는 것은 어쩌면 현재의 환경에 너무나도 읶숙한 우리의 갇힌 시각일지도 모른다.
최대한 다양한 형태의 극단적인 변형을 통해 새로운 가능성을 모색하려는 유전자의 발악일지도 모른다.

어두운 동굴에 갇혀 눈이 퇴화된 동물들이 어쩌다가 운좋게 눈이 먼 유전자만 남았다기엔 뭔가 불충분하다. 폐쇄된 환경 하에서 다양한 개체의 변형과 도전을 통해 만들어진 가능성이라 봐야지.

1 2 3 4 5 6 7 8 9 10 다음