[1. Swift 소개와 Design Thinking]

알파관·2022년 9월 23일
0

iOS 앱 스쿨

목록 보기
1/2
post-thumbnail

2022.09.16

OT도 끝났겠다, 이제 본격적으로 강사님과의 수업이 시작되었다
(23주간의 09:00-18:00 생활 시작...😢)

첫 수업의 주제는 아래와 같았다

  • Swift 언어 소개
  • Design Thinking 기법 소개

아무래도 첫 시간인 만큼, 입문에 초점을 두신 것 같았다
강사님께서 재밌게 강의를 해주셔서 유튜브 보듯이 들었던 것 같음😎


⏰ 오전 수업

오전 수업은 Swift 언어 소개 강의로 진행되었다

Swift를 만든 회사가 애플인 만큼, 오늘도 어김없이 Apple의 역사에 관한 내용이 등장했다!

아는 사람들은 알겠지만, 스티브 잡스는 한 때 애플에서 쫓겨난 적이 있었다

쫓겨난 잡스는 그 후에 애플을 퇴사한 일부 엔지니어들과 함께 NeXT라는 회사를 설립한다🏢


NeXT 설립부터 애플로의 복귀까지

스티브잡스가 애플을 나오고 세웠던 NeXT

NeXT의 주요 생산품은 워크스테이션이었다
수치해석 프로그램인 매스매티카를 탑재했던만큼, 그당시 CERN과 같은 연구기관들에서 다량으로 NeXT의 워크스테이션을 구매했었다고 한다

하지만, 가정용 컴퓨터들이 빠르게 고성능화 되어갔고 그에 따라 NeXT의 워크스테이션 매출은 죽어갔다

그렇다면 잡스가 나간 애플은 어땠을까?

애플도 꾸준히 고성능 Macintosh를 출시하며, 시장에 발맞춰 나갔으나 마이크로소프트의 Windows95 운영체제가 출시된 이후에 위기를 맞이하게된다

애플의 Mac OS는 경쟁사인 마이크로소프트에 비해 뒤쳐지기 시작했고, 이를 해결하기 위해 NeXT를 인수하였다
(당시 NeXT의 운영체제인 NeXTSTEP을 가지기 위해)

이렇게 잡스는 애플에 다시 복귀하게 되었고, 그 후 애플의 행보는 우리가 잘 아는 아이팟, 아이폰, 아이패드 등의 제품들을 만들어냄으로써 최고의 회사로 성장했다

아이팟에서 아이폰까지


Objective-C 그리고 Swift

c언어에 객체지향기능이 추가된 언어라고 이해하면 된다
1984년부터 시작된 검증된 언어로써, 이름에서도 유추할 수 있듯이 C언어 기반한 문법체계를 갖추고 있다.

하지만, 메모리를 건드리는 C언어의 특성상 오류 수정이 어렵고, 2006년 2.0 버전 공개 이후 업데이트가 없어서 현 시점으로써는 미래도 암울한 언어로 남아있다.

따라서, Objective-C를 쓰던 애플은 iOS 개발자들의 편의를 고려해 Swift라는 언어를 개발했다.

Swift의 특징을 설명하자면 다음 3가지로 요약할 수 있다

  • Safe(안정성) : 엄격한 문법을 적용해 실수 방지

  • Fast(신속성) : C언어 수준과 동등한 성능을 목표

  • Expressive(더 나은 표현성) : 개발자들이 원하는 현대적이고 세련된 문법 지원

그 외에도 아래와 같은 특징도 가진다

  • 컴파일러 언어임에도 불구하고 Playground를 통한 결과 확인이 가능
  • ARC를 통한 효율적 메모리 관리
  • 소괄호와 세미콜론 생략이 가능하다는 자유도 높은 문법 스타일

☀️ 오후 수업

오후에는 Design Thinking에 관한 수업이 진행되었다

Design Thinking 절차

본격 수업의 진행에 앞서, 미국 하버드대학(정확히 기억은 안남..)의 Design School에 관한 짧은 영상과 한 유명 앱 개발자의 특강을 보여주셨다.

앱 개발자에게 꼭 필요한 사고법이라고 알려주신만큼 유심히 영상을 보았다.


공감과 문제정의의 중요성

'도움을 주고자하는 사람들에 대한 공감'

'진짜 해결이 필요한 문제이며 많은 가치 창출이 가능한가?'

Design Thinking에는 여러 과정이 있었는데, 영상 속 강의자 분께서는 그 중에서 '공감'과 '문제정의'과정이 제일 중요하다고 강조하셨다.

영상이 끝난 후 강사님의 말씀도 이와 마찬가지였으며, 이러한 사고법을 체험해보기 위해 회고 조원들끼리 팀 활동을 하는 시간을 주셨다.

팀 활동 내용은 다음과 같았다.

1. 각자 생각한 앱 아이디어를 간략히 정의하기

2. 내 앱을 사용할 사용자가 누군지 생각해보고, 해당 사용자의 특성을 다른 조원들이 정의

3. 조원들이 생각한 사용자의 특성에 맞추어 개선된 앱 아이디어를 정의

생각보다 어려운 활동이었는데, 조원들이 정의한 앱 사용자의 특성을 활용해 개선된 앱 아이디어를 정의하는 것이 가장 어려웠던 것 같다.
(너무 오래걸려서, 내 아이디어는 아쉽게 시간 이슈로 활동을 진행하지 못함,,,😢)

이렇게 첫 수업도 알차게 마무리되었다.
앞으로도 오늘처럼 재미 있게 수업이 진행되었으면 좋겠다,,,👀

profile
iOS🍎

0개의 댓글