본문 바로가기

볼거리

→ 맥용 사진 앱에 포함된 'UXKit'이 iOS 개발자들에게 가지는 의미

오늘 공개된 맥용 '사진(Photos)'이 애플의 새로운 프레임워크 'UXKit'로 제작되었다고 해 개발자 커뮤니티에서 화제가 되고 있습니다. 맥월드 전 편집장 제이슨 스넬이 운영하는 식스컬러 블로그에 올라온 글입니다.

"그동안 iOS 개발자들은 맥에서 UIKit 프레임워크를 쓸 수 없다는 것에 대해 늘 불만이었다. iOS 앱을 개발할 때 사용하는 도구와 기술, 코드를 맥에서 활용하기 매우 까다로웠기 때문이다."

오늘 애플이 맥용 '사진(Photos)' 앱을 개발자들에게 공개했는데, 기존에 맥 앱을 만들 때 사용하던 'AppKit'이 아니라 iOS의 UIKit과 닮은꼴인 'UXKit' 프레임워크로 제작됐다는 소식이 알려졌다.

- Six Colors

여러 개발자들이 사진 앱이 사용한 'UXKit' 프레임워크를 파헤쳐 본 결과 'AppKit' 상단에 돌아가는, 사실상 'UIKit'의 복사판이라고 합니다. ▼

iOS 개발자들에게는 익숙한 API인 UXView, UXNavigationController, UXControl을 포함하고 있고, 심지어 CASpringAnimation도 UXView를 이용해 맥에서 구현할 수 있다고 합니다. ▼

애플의 전 엔지니어도 트위터에 코멘트를 남겼는데요. 애플이 'UXKit'을 내놓으면서 앞으로 애플 안팎의 모든 개발자들이 iOS와 OS X 플랫폼에서 활동하기 무척 용이해졌다고 말합니다. iOS에서 앱을 만들던 실력과 지식을 맥 앱 개발에 수월하게 투입할 수 있게 됐다는 설명과 함께 말이죠. ▼

개념이 생소한 분들을 위해 풀어 설명하면 이렇습니다.

위에 등장한 AppKit, UIKit, UXKit... 모두 앱을 개발할 때 사용하는 프레임워크입니다. 개발자들이 앱을 쉽게 제작하라고 애플이 미리 준비한 일종의 도구들이죠. 맥용 소프트웨어는 주로 'AppKit'으로 앱을 개발할 때가 많고, iOS 플랫폼은 'UIKit'이라는 전혀 다른 프레임워크로 앱을 제작합니다.

몇 년전에 아이폰 열풍이 크게 불어닥치면서 많은 개발자들이 애플 플랫폼에 뛰어들었습니다. 그리고 이는 iOS 앱 시장이 폭발적으로 성장할 수 있는 계기가 됐습니다. 그런데 그때 애플 플랫폼에 뛰어든 대부분의 개발자는 유행에 따라 'UIKit'을 먼저 익히는 경우가 많았습니다. iOS 앱을 만드는 게 더 돈이 되는 일이니까요.

애플로서는 서드파티 개발자들이 맥용 소프트웨어도 많이 만들어 주길 바라는데, 'UIKit 배운 김에 맥용 앱도 한번 만들어 보자!' 이러기는 쉽지 않다는 것이 문제입니다. 다루는 방법이 크게 달라 새로 배워야 할 것이 너무 많고, 또 돈도 벌어야 하는데 언제 그걸 익혀서 OS X 앱을 만들고 있겠습니까. iOS 플랫폼에서 계속 안주하게 되는거죠. 또 일부 활발한 개발자들은 맥 플랫폼에도 UIKit처럼 좀 더 손쉽게 쓸 수 있는 도구를 만들어 달라고 애플에 오랫동안 요청해 왔습니다.

그런데 사진 앱에 'UIKit'의 쌍둥이격 프레임워크 'UXKit'이 발견됐으니 개발자들이 얼마나 기뻐하겠습니까. iOS 플랫폼에서 어렵게 익힌 각종 개발 지식과 도구를 OS X 플랫폼에서도 그대로 써먹을 수 있게 됐으니 말입니다. 'UIKit 배운 김에 맥용 앱도 한번 만들어 보자!'라는 말이 이제 전혀 불가능한 얘기가 아닌 것입니다.

결국 iOS 개발자가 맥용 소프트웨어를 만들기가 훨씬 쉬워지면서 평범한 맥 사용자들도 더욱 다양하고 풍성한 소프트웨어를 만날 수 있게 될 가능성이 높아졌습니다. 이런 배경을 알고나면 이번 소식이 얼마나 흥분되고 흥미진진한 일인지 감이 오실 겁니다 :-)



참조
Six Colors - New Apple Photos app contains ‘UXKit’ framework
9to5mac - UIKit-like framework called UXKit used in Photos for Mac

관련 글
• 맥용 '사진(Photos)'에 관해 알아두어야 할 스무가지
• 애플, OS X 요세미티 10.10.3 베타 테스트 시작... '맥용 사진 앱 전격 공개'


  • 홍일 2015.02.06 20:24

    오~~저도 1등하는 기대로 댓글 달아봅니다. 저는 개발자도 아니고 그냥 라이트 유저라 먼나라 얘기지만 원님 말씀대로 더욱 다양한 맥용 앱..그리고 ios와도 더욱 잘 연동되는 많은 앱들이 나왔으면 좋겠네요 ^^

  • 이수형 2015.02.06 21:22

    본문과는 상관 없는 이야기입니다만, 사파리를 닫았다가 다시 열 때마다 확장 프로그램이 싹 날라갑니다. 근데 라이브러리 사파리 폴더엔 프로그램들이 그대로 있습니다. 확장 프로그램을 쓰려면 재부팅할때마다 이걸 다 하나씩 클릭해서 설치해야 되는데, 여간 귀찮고 불편한 일이 아닙니다. 뭐가 문제인 건가요....

    • 러브링고 2015.02.06 22:02

      저도 비슷한 증상이 있었는데요. 의외의 장소에서 해결법이 있더군요.

      - Quit Safari
      - Open now the application named Keychain Access on your hard drive,
      - Once you are in this application, search the row entitled Safari Extensions List
      - Delete it
      - Open Safari again and reinstall the Safari extensions

      이렇게 해보시기 바랍니다. 요약하면 키체인엑세스에서 일괄관리하는 사파리 확장프로그램 리스트가 손상되어서 리셋함으로서 해결되더군요.

    • BlogIcon 이수형 2015.02.06 22:39

      감사합니다!!

  • BlogIcon 변태 2015.02.06 21:38

    나랏말삼이 듕귁에 달아 서로 사맛디 아니홀쎄 어린 백성이 이르고져 홀빼이셔도

  • 캐쉬 2015.02.06 22:03

    백투더맥 들어오면서 항상 궁금한건데 이렇게 맥관련 지식이 많으신 원님은 어떤 직종에 종사하시는지요? 글의 수준들을 보면 그냥 취미수준은 아닌것 같아서요. 궁금하네요 ^^

  • 안드레아 2015.02.06 23:17

    iOS8 에서 개발자는 아이폰과 아이패드 앱을 만드는데 동일한 스토리보드 파일을 쓸 수 있게 됩니다. 크기 차이로 오는 디자인의 변화는 기본 뼈대를 만들고 난 뒤에 작업할 수 있게 만든 것이죠. 만일 UXKit이 iOS와 OS X의 통합 스토리보드를 만드는데 이용된다면 어떨까요? 당장 이렇게 되지는 않겠지만, iOS와 OS X의 자연스러운 용합(?)이 기대가 됩니다.

  • 정원우 2015.02.06 23:51

    ONE님 이글과는 상관없지만 혹시 맥에서 다른 OS로 부팅하는 방법이 뭔가요?

    제가 리눅스로 부팅을 하고 싶은데 말이죠

  • 익명 2015.02.07 01:11

    비밀댓글입니다

  • Gk 2015.02.07 03:05

    자 그럼 애플부터 ios가판대 앱을 맥으로 옮겨주세요.

  • Mark 2015.02.07 12:05

    전 맥용 앱개발이 (특히 한국에선) 늘어나는 유저의 수만큼 상업적으로도 전망이 있을거라고 생각하는데, 위의 글을 읽으니 UXkit으로도 나중에 맥앱개발을 cover할 수도 있겠다는 생각이 드네요. 좀 더 공부해보고 싶은데 APPkit보다 UXkit에 관심을 가져야될까요?^^

  • BlogIcon 용춘형님 2015.02.07 12:07

    생태계구축에 적극적인 모습이 참 부럽네요.

  • BlogIcon hymin 2015.02.07 12:12 신고

    .net 처럼 모바일과 개발 스택을 통합하는게 유리하기 때문입니다. os x 의 소스 볼륨과 감히 비교할수 없는 ios 가 os x 을 집어삼켜서 발생된 것 같은 뉘앙스는 지나친것같습니다

  • 알 수 없는 사용자 2015.02.07 17:40

    iOS로 Apple개발에 입문한 수많은 개발자들의 OSX개발 유입을 기대할 수 있겠군요:)

  • 와룡서생 2015.02.07 21:55

    iOS용 소스를 OS X소스로 포팅하는 작업이 훨씬 수월해지겠네요. 딱 대칭되는 API가 없어 포팅하는데 난감한 경우가 많거든요;

    UIKit단의 통합도 중요하지만 Core단의 좀더 밀접한 통합도 필요하다고 봅니다. UIKit단에 비해 혼용할 수 있는 API가 많지만 둘사이에 뭔가 미묘한 차이가 있지요. 코어단까지의 통합이 완성된다면 명실상부한 OS X/iOS 통합플랫폼이 되지않을까 상상해봅니다.

  • 여러분 2015.02.08 12:54

    여러분 이런글을 보면 정말 설렘설렘 할 때가 많은데!!문과 대학생이 앱 개발에 입문하기엔 버거울까요?..
    취미?라고하기엔 너무 무겁겠지만 한번 발 담궈보고 싶을 때가 많네요!!물론 노력하면 안 될 것은 없다지만..
    앱 개발의 과정과 직무(?)가 무엇인지 도무지 감이 안와서 말이죠..

    • BlogIcon 와룡서생 2015.02.08 18:39

      개발자가 되는데 진입장벽은 없습니다. 실제 IT기업에 근무하는 개발자 중 30~50%비율은 비전공자 출신입니다. 안정적인 탄탄대로가 깔린 길은 아닙니다만 모두에게 열려있는 분야이니 뜻하신바가 있다면 경험삼아 도전해보는 것도 괜찮을겁니다.