[앱 만들기 4편] 프로그래밍 언어와 프레임워크? 레고 조립 도구와 설계도! 🧱

안녕하세요! ‘앱 만들기, 레고 블록 조립과 똑같아요!’ 시리즈의 네 번째 시간입니다.

지난 시간까지 우리는 앱의 겉모습(UI, 프론트엔드), 작동 방식(UX), 그리고 보이지 않는 심장과 뇌(서버, DB, API, 백엔드)에 대해 알아보았어요. 이제 이런 개념들이 어떤 블록들로 이루어져 있고, 어떤 역할을 하는지 조금은 익숙해지셨을 거예요.

오늘은 이 레고 블록들을 실제로 조립할 때 필요한 조립 도구조립 설계도에 대해 이야기해볼 거예요. 바로 프로그래밍 언어프레임워크입니다. 마치 멋진 레고 작품을 만들기 위해 드라이버나 핀셋 같은 도구와, 복잡한 부품들을 어떻게 조립해야 할지 알려주는 자세한 설명서가 필요한 것과 같아요!

자, 그럼 앱이라는 멋진 레고 작품을 만들 때 필요한 도구들을 함께 살펴볼까요?


프로그래밍 언어 | 레고 블록을 조립하는 ‘대화 방법’ 또는 ‘작업 지시어’

프로그래밍 언어는 컴퓨터에게 우리가 원하는 대로 앱을 만들라고 ‘명령을 내리는 방법’ 또는 작업을 지시하는 대화법이라고 생각하면 이해하기 쉬워요.

상상해 보세요. 여러분이 로봇 조수에게 레고 성을 만들라고 시키고 싶어요. 로봇에게 “야, 성 만들어!”라고 말하면 로봇은 못 알아들을 거예요. 로봇이 알아듣는 특별한 언어로 정확하게 지시해야 하죠. “빨간색 2×4 블록을 가져와서 여기에 놓아라!”, “이 블록 위에 파란색 1×1 블록을 쌓아라!” 하는 식으로요.

이처럼 컴퓨터도 우리가 쓰는 한국어나 영어를 그대로 알아듣지 못해요. 컴퓨터가 이해할 수 있는 특별한 약속과 규칙으로 이루어진 언어가 바로 프로그래밍 언어입니다.

앱 개발에 많이 쓰이는 프로그래밍 언어는 이런 것들이 있어요.

  • HTML/CSS: 주로 웹 페이지의 뼈대와 디자인(겉모습, UI)을 만들 때 사용해요. 레고 조립 설명서에 블록의 위치와 색깔을 표시하는 것과 비슷하죠.
  • JavaScript: 웹 페이지에서 버튼을 누르면 움직이게 하거나, 복잡한 기능을 추가할 때 사용해요. 레고 로봇에게 “버튼을 누르면 팔을 움직여라” 하고 지시하는 것과 같아요.
  • Python (파이썬): 다양한 분야에서 쓰이는 만능 언어예요. 앱의 뒤편에서 데이터를 처리하거나, 인공지능 같은 복잡한 기능을 만들 때 많이 사용해요. 레고 로봇에게 복잡한 계산이나 생각을 시킬 때 쓰는 언어와 비슷하죠.
  • Swift (스위프트): 아이폰 앱을 만들 때 주로 사용하는 언어예요.
  • Kotlin (코틀린): 안드로이드폰 앱을 만들 때 주로 사용하는 언어예요.

이 외에도 수많은 프로그래밍 언어들이 있고, 각 언어마다 잘하는 역할이 조금씩 다르답니다. 중요한 것은 이 언어들이 컴퓨터와 대화하고 명령을 내리는 ‘수단’이라는 것이죠.


프레임워크 (Framework) | 레고 조립을 도와주는 ‘특별한 설계도 세트’

프레임워크는 레고 조립을 훨씬 쉽고 빠르게 할 수 있도록 미리 만들어진 특별한 설계도 세트라고 생각하면 돼요.

다시 레고 성을 만드는 상황으로 돌아가 볼까요? 성을 처음부터 완전히 백지상태에서 설계하고, 모든 블록을 하나하나 조립하려면 엄청난 시간과 노력이 들 거예요. 하지만 만약 “튼튼한 성벽 만드는 방법”, “아름다운 아치형 성문 만드는 방법” 같은 미리 만들어진 조립 설명서 세트가 있다면 어떨까요?

프레임워크가 바로 그런 역할을 합니다!

  • 기본 뼈대가 있어요: 앱을 만들 때 필요한 기본적인 구조나 기능들을 미리 만들어 놓아서, 개발자가 처음부터 모든 것을 만들 필요가 없어요.
  • 정해진 규칙이 있어요: “이런 기능은 이렇게 만들어라”, “저런 부분은 이렇게 배치하는 것이 좋다” 와 같이 효율적인 조립 방법을 안내해 줍니다.
  • 다양한 도구가 포함되어 있어요: 앱 개발에 필요한 여러 가지 유용한 기능이나 도구들이 패키지처럼 묶여 제공됩니다.

프레임워크를 사용하면 마치 이미 절반쯤 만들어진 레고 성 세트를 받아서 나머지 부분을 완성하는 것처럼, 앱 개발을 훨씬 빠르고 효율적으로 진행할 수 있습니다.

앱 개발에 많이 쓰이는 프레임워크는 이런 것들이 있어요.

  • React (리액트), Vue (뷰): 웹 페이지의 겉모습(프론트엔드)을 만들 때 많이 사용하는 프레임워크예요.
  • Spring (스프링): 앱의 보이지 않는 부분(백엔드)을 만들 때 많이 사용하는 프레임워크예요.
  • Flutter (플러터): 하나의 코드로 아이폰 앱과 안드로이드폰 앱을 동시에 만들 수 있게 해주는 프레임워크예요. (마치 하나의 설계도로 여러 종류의 레고 로봇을 만들 수 있는 것처럼요!)

정리하면… 앱 개발의 필수 도구들!

어떠신가요? 이제 프로그래밍 언어와 프레임워크가 어떤 역할을 하는지 조금 더 명확하게 이해되셨기를 바랍니다.

  • 프로그래밍 언어: 컴퓨터에게 명령을 내리는 ‘대화 방법’
  • 프레임워크: 조립을 쉽고 빠르게 돕는 ‘특별한 설계도 세트’

이 두 가지 도구를 잘 사용하면, 우리는 더욱 효율적으로 복잡한 앱이라는 레고 작품을 멋지게 완성할 수 있답니다.

이제 기본적인 개념과 도구들을 모두 살펴봤으니, 다음 시간에는 이 모든 것을 종합하여 앱 개발의 실제 과정이 어떻게 되는지 총정리하는 시간을 가져보겠습니다.

<앱 만들기, 레고 블록 조립과 똑같아요!> 시리즈에 계속해서 많은 관심 부탁드려요!

댓글 남기기