앱, 윈도우 프로그램, 웹 프로그램은 무엇이 다를까?
앞선 1~3회에서는 바이브 코딩 전에 알아야 할 기본 지식으로 개발언어, 개발툴, DB에 대해 살펴봤습니다.
이번 4회에서는 프로그램의 종류를 알아보겠습니다.
비개발자가 바이브 코딩을 시작할 때 가장 먼저 막히는 부분이 있습니다.
“앱으로 만들어야 하나?”
“윈도우 프로그램으로 만들어야 하나?”
“웹으로 만들어야 하나?”
“서버가 필요한가?”
“DB는 어디에 둬야 하나?”
“폰에서도 되고 PC에서도 되게 할 수 있나?”
이 질문에 답하려면 프로그램의 종류와 구조를 알아야 합니다.
프로그램은 겉으로 보면 모두 비슷해 보입니다.
버튼이 있고, 입력창이 있고, 목록이 있고, 저장 기능이 있습니다.
하지만 내부 구조는 다릅니다.
모바일 앱, 윈도우용 프로그램, 웹 프로그램은 실행되는 환경도 다르고, 설치 방식도 다르고, 배포 방식도 다르고, DB 접근 방식도 다릅니다.
바이브 코딩을 제대로 하려면 “어떤 프로그램을 만들 것인지”를 먼저 정해야 합니다.
1. 프로그램 종류를 먼저 정해야 하는 이유
AI에게 이렇게 요청하면 결과가 애매해집니다.
“재고관리 프로그램 만들어줘.”
AI는 Python으로 만들 수도 있고, C# WinForms로 만들 수도 있고, 웹으로 만들 수도 있고, Flutter 앱으로 만들 수도 있습니다.
하지만 실무에서는 실행 환경이 중요합니다.
사무실 PC에서 사용할 것인가?
현장 태블릿에서 사용할 것인가?
스마트폰 앱으로 배포할 것인가?
인터넷 브라우저에서 사용할 것인가?
여러 명이 동시에 사용할 것인가?
외부에서도 접속해야 하는가?
이 질문에 따라 프로그램 종류가 달라집니다.
따라서 바이브 코딩을 할 때는 이렇게 요청하는 것이 좋습니다.
“C# WinForms로 윈도우용 재고관리 프로그램을 만들어줘.”
또는
“.NET MAUI로 Android 앱을 만들어줘.”
또는
“웹 브라우저에서 사용할 수 있는 재고 조회 웹 프로그램을 만들어줘.”
처음부터 프로그램 종류를 명확히 해야 AI가 맞는 구조로 코드를 작성합니다.
2. 모바일 앱
모바일 앱은 스마트폰이나 태블릿에 설치해서 사용하는 프로그램입니다.
Android 앱, iPhone 앱이 대표적입니다.
예를 들어 다음과 같은 프로그램이 앱에 적합합니다.
현재 위치 기반 여행 정보 앱
미세먼지 조회 앱
고속도로 교통정보 앱
위급상황 알림 앱
현장 작업자용 생산실적 입력 앱
사진 촬영 후 서버 업로드 앱
태블릿용 설비 점검 앱
앱은 사용자가 직접 폰에 설치합니다.
아이콘을 눌러 실행합니다.
카메라, GPS, 알림, 연락처, 파일, 센서 같은 스마트폰 기능을 사용할 수 있습니다.
3. 앱의 기본 구조
모바일 앱은 보통 다음 구조로 이루어집니다.
화면
로직
저장소
권한
API 연동
배포 파일
하나씩 쉽게 보면 다음과 같습니다.
화면은 사용자가 보는 부분입니다.
버튼, 목록, 입력창, 이미지, 지도, 하단 탭 등이 여기에 해당합니다.
로직은 버튼을 눌렀을 때 실제로 처리되는 동작입니다.
예를 들어 현재 위치를 가져오거나, API를 호출하거나, 데이터를 저장하는 부분입니다.
저장소는 앱 안에 데이터를 저장하는 공간입니다.
간단한 설정값은 앱 내부 저장소에 저장할 수 있고, 복잡한 데이터는 SQLite 같은 로컬 DB를 사용할 수 있습니다.
권한은 스마트폰 기능을 사용하기 위한 허가입니다.
위치를 쓰려면 위치 권한, 카메라를 쓰려면 카메라 권한, 알림을 보내려면 알림 권한이 필요합니다.
API 연동은 서버나 공공데이터와 통신하는 부분입니다.
예를 들어 기상청 API, 관광공사 API, 회사 서버 API와 연결할 수 있습니다.
배포 파일은 앱을 설치하기 위한 파일입니다.
Android에서는 APK 또는 AAB가 대표적입니다.
4. 앱 개발에 많이 쓰는 기술
앱 개발에는 여러 기술이 있습니다.
Android 전용 앱은 Kotlin 또는 Java를 많이 사용합니다.
iPhone 전용 앱은 Swift를 많이 사용합니다.
하나의 코드로 Android와 iPhone, Windows까지 함께 고려하려면 Flutter, .NET MAUI, React Native 같은 크로스플랫폼 기술을 사용할 수 있습니다.
C# 개발자라면 .NET MAUI가 익숙할 수 있습니다.
Flutter는 Dart 언어를 사용하고, 모바일 앱 개발에 많이 사용됩니다.
바이브 코딩을 할 때는 다음처럼 요청할 수 있습니다.
“.NET MAUI로 Android 앱을 만들어줘.”
“Flutter로 하단 탭이 있는 여행 앱 화면을 만들어줘.”
“Android 앱에서 GPS 권한을 요청하고 현재 위치를 표시해줘.”
5. 앱의 장점과 단점
앱의 장점은 스마트폰 기능을 잘 사용할 수 있다는 점입니다.
GPS, 카메라, 알림, 파일, 센서, 백그라운드 동작 등 스마트폰 기능과 연결하기 좋습니다.
사용자는 아이콘을 눌러 쉽게 실행할 수 있습니다.
현장 작업자나 일반 사용자 대상 서비스에 적합합니다.
하지만 단점도 있습니다.
설치가 필요합니다.
Android와 iPhone 대응이 필요할 수 있습니다.
구글플레이나 앱스토어 배포 절차가 필요합니다.
권한 정책과 개인정보 처리방침을 신경 써야 합니다.
기기마다 화면 크기와 Android 버전이 달라 테스트가 필요합니다.
따라서 앱은 “사용자가 스마트폰에서 자주 쓰는 기능”에 적합합니다.
6. 윈도우용 프로그램
윈도우용 프로그램은 Windows PC에 설치해서 사용하는 프로그램입니다.
C# WinForms, WPF, C++ MFC, Python GUI 프로그램 등이 대표적입니다.
제조업에서는 아직도 윈도우용 프로그램이 많이 사용됩니다.
예를 들어 다음 프로그램이 윈도우용에 적합합니다.
MES Lite
ERP 보완 프로그램
재고관리 프로그램
생산실적 입력 프로그램
설비 통신 프로그램
소켓 서버 프로그램
엑셀 업로드 프로그램
파일 변환 프로그램
DB 관리 프로그램
현장 사무실용 조회 프로그램
특히 C# WinForms는 업무용 프로그램을 빠르게 만들기에 좋습니다.
7. 윈도우용 프로그램의 기본 구조
윈도우 프로그램은 보통 다음 구조로 이루어집니다.
화면 Form
버튼 이벤트
업무 로직
DB 연결
파일 처리
로그 처리
설정 파일
실행 파일
화면 Form은 사용자가 보는 창입니다.
WinForms에서는 frmItem, frmWorkOrder, frmStock 같은 화면을 만들 수 있습니다.
버튼 이벤트는 버튼을 눌렀을 때 실행되는 코드입니다.
예를 들어 조회 버튼, 저장 버튼, 삭제 버튼, 닫기 버튼이 있습니다.
업무 로직은 실제 기능입니다.
품목 저장, 재고 계산, 작업지시 상태 변경, 엑셀 업로드 등이 여기에 해당합니다.
DB 연결은 MariaDB, SQL Server, SQLite 같은 DB와 연결하는 부분입니다.
파일 처리는 엑셀, 이미지, PDF, 로그 파일 등을 읽고 쓰는 기능입니다.
로그 처리는 오류나 처리 결과를 기록하는 기능입니다.
설정 파일은 DB 접속정보, 서버 주소, 프로그램 옵션 등을 저장합니다.
실행 파일은 사용자가 더블클릭해서 실행하는 exe 파일입니다.
8. 윈도우용 프로그램의 장점과 단점
윈도우 프로그램의 장점은 사내 업무에 강하다는 것입니다.
PC의 파일, 프린터, 스캐너, 바코드 리더기, 설비 통신, DB 연결, 엑셀 처리와 잘 맞습니다.
제조업 현장이나 사무실 업무 시스템에 적합합니다.
C# WinForms를 사용하면 비교적 빠르게 화면을 만들 수 있습니다.
단점은 설치와 업데이트입니다.
각 PC에 프로그램을 설치해야 할 수 있습니다.
새 버전을 배포할 때 파일을 다시 복사하거나 업데이트 기능이 필요합니다.
외부 접속이나 모바일 사용에는 웹이나 앱보다 불리할 수 있습니다.
따라서 윈도우 프로그램은 “사내 PC 중심 업무”에 적합합니다.
9. 웹 프로그램
웹 프로그램은 인터넷 브라우저에서 실행하는 프로그램입니다.
Chrome, Edge, Safari 같은 브라우저에서 주소를 입력해 접속합니다.
예를 들어 다음과 같은 프로그램이 웹에 적합합니다.
회사 관리자 페이지
ERP 웹 시스템
MES 조회 대시보드
고객 포털
예약 시스템
게시판
공공데이터 조회 서비스
통계 대시보드
외부 사용자용 신청 시스템
웹 프로그램은 설치가 필요 없습니다.
주소만 알면 접속할 수 있습니다.
10. 웹 프로그램의 기본 구조
웹 프로그램은 보통 다음 구조로 나뉩니다.
프론트엔드
백엔드
DB
서버
API
도메인
호스팅
인증
프론트엔드는 사용자가 보는 화면입니다.
HTML, CSS, JavaScript, React, Vue 같은 기술을 사용합니다.
백엔드는 서버에서 동작하는 프로그램입니다.
사용자 요청을 처리하고, DB에 저장하고, 결과를 반환합니다.
C#, Java, Python, Node.js, PHP 등을 사용할 수 있습니다.
DB는 데이터를 저장하는 곳입니다.
MariaDB, MySQL, PostgreSQL, SQL Server 등이 있습니다.
서버는 웹 프로그램이 실행되는 컴퓨터입니다.
회사 내부 서버일 수도 있고, 클라우드 서버일 수도 있습니다.
API는 프론트엔드와 백엔드가 데이터를 주고받는 통로입니다.
도메인은 사용자가 접속하는 주소입니다.
예를 들어 example.com 같은 주소입니다.
호스팅은 웹 프로그램을 인터넷에서 접속 가능하게 올려두는 환경입니다.
인증은 로그인과 권한 관리입니다.
11. 웹 프로그램의 장점과 단점
웹 프로그램의 가장 큰 장점은 설치가 필요 없다는 점입니다.
사용자는 브라우저로 접속하면 됩니다.
프로그램을 수정해도 서버만 업데이트하면 됩니다.
여러 명이 동시에 사용하기 좋습니다.
PC, 태블릿, 스마트폰 브라우저에서 접근할 수 있습니다.
단점도 있습니다.
서버가 필요합니다.
인터넷 또는 사내 네트워크가 필요합니다.
보안 설정이 중요합니다.
브라우저 호환성과 화면 반응형을 고려해야 합니다.
카메라, GPS, 알림 같은 기기 기능은 앱보다 제약이 있을 수 있습니다.
따라서 웹은 “여러 사용자가 접속하고, 설치 없이 사용해야 하는 업무”에 적합합니다.
12. 앱, 윈도우 프로그램, 웹 프로그램 비교
앱은 스마트폰 중심입니다.
GPS, 카메라, 알림 같은 기기 기능이 중요할 때 좋습니다.
윈도우 프로그램은 사내 PC 중심입니다.
DB, 엑셀, 프린터, 설비 통신, 업무 처리에 좋습니다.
웹 프로그램은 여러 사용자와 원격 접속 중심입니다.
설치 없이 브라우저로 접속해야 할 때 좋습니다.
예를 들어 MES Lite를 만든다고 가정해 보겠습니다.
관리자는 윈도우 프로그램이나 웹으로 기준정보와 작업지시를 관리합니다.
현장 작업자는 태블릿 앱으로 생산실적을 입력합니다.
대표나 관리자는 웹 대시보드로 실적을 조회합니다.
이렇게 프로그램 종류를 섞어서 구성할 수도 있습니다.
13. 어떤 프로그램을 선택해야 할까?
비개발자가 선택할 때는 다음 기준으로 보면 됩니다.
스마트폰 기능이 중요하면 앱입니다.
사무실 PC에서 빠르게 업무 처리해야 하면 윈도우 프로그램입니다.
여러 사람이 설치 없이 접속해야 하면 웹입니다.
현장 태블릿에서 사용할 거면 앱 또는 웹을 고려합니다.
설비나 장비와 직접 통신해야 하면 윈도우 프로그램이 유리합니다.
외부 고객이나 일반 사용자에게 제공할 서비스라면 웹 또는 앱이 좋습니다.
DB를 여러 사람이 함께 사용해야 하면 서버형 DB가 필요합니다.
14. 바이브 코딩 요청 예시
좋지 않은 요청은 다음과 같습니다.
“프로그램 만들어줘.”
좋은 요청은 다음과 같습니다.
C# WinForms로 윈도우용 재고관리 프로그램을 만들어줘.
사용자는 사무실 담당자이고, MariaDB를 사용한다.
기능은 품목 조회, 입고 등록, 출고 등록, 현재고 조회다.
엑셀 업로드 기능도 필요하다.
앱이라면 이렇게 요청합니다.
.NET MAUI로 Android 앱을 만들어줘.
현장 작업자가 태블릿에서 작업지시를 보고 생산실적을 입력하는 앱이다.
하단 탭은 홈, 작업지시, 실적등록, 설정으로 구성한다.
버튼은 크게 만들고, 네트워크 오류가 나도 앱이 종료되지 않게 해줘.
웹이라면 이렇게 요청합니다.
웹 기반 MES 조회 대시보드를 만들어줘.
프론트엔드는 HTML, CSS, JavaScript 기준으로 하고,
백엔드는 C# ASP.NET Core Web API로 구성한다.
DB는 MariaDB를 사용하고, 생산실적과 불량률을 조회할 수 있게 해줘.
이렇게 프로그램 종류와 사용 환경을 명확히 알려주면 AI가 훨씬 정확한 결과를 만듭니다.
15. 4회차 핵심 정리
프로그램은 크게 앱, 윈도우용 프로그램, 웹 프로그램으로 나눌 수 있습니다.
앱은 스마트폰이나 태블릿에 설치해서 사용합니다.
윈도우용 프로그램은 Windows PC에서 실행합니다.
웹 프로그램은 브라우저에서 접속합니다.
앱은 GPS, 카메라, 알림 같은 기기 기능에 강합니다.
윈도우 프로그램은 사내 업무, DB, 엑셀, 설비 통신에 강합니다.
웹 프로그램은 설치 없이 여러 사용자가 접속하는 업무에 강합니다.
바이브 코딩을 할 때는 반드시 프로그램 종류, 실행 환경, 사용자, 주요 기능을 함께 알려줘야 합니다.
마무리
바이브 코딩은 AI에게 코드를 만들어 달라고 하는 것이지만, 그 전에 사람이 결정해야 할 것이 있습니다.
무엇을 만들 것인가?
누가 사용할 것인가?
어디에서 실행할 것인가?
어떤 데이터를 저장할 것인가?
앱이 맞는가, 윈도우 프로그램이 맞는가, 웹이 맞는가?
이 질문에 답할 수 있어야 좋은 프로그램을 만들 수 있습니다.
다음 5회에서는 바이브 코딩을 할 때 자주 나오는 프로그램 관련 용어를 정리하겠습니다.
용어를 알아야 AI에게 더 정확히 요청할 수 있고, 오류가 났을 때도 원인을 더 쉽게 이해할 수 있습니다.
'바이브 코딩(Vibe Coding) > 비개발자에게 바이브 코딩이란?' 카테고리의 다른 글
| 비개발자용 바이브 코딩 사전 지식 (1) | 2026.07.15 |
|---|---|
| [5회] 비개발자가 알아야 할 바이브 코딩 필수 개발 용어 (0) | 2026.07.08 |
| [3회] DB란 무엇인가?— DB 종류, 설치 방법, 접근 방식까지 한 번에 이해하기 (0) | 2026.07.03 |
| [2회] 개발툴이란 무엇인가?— VS Code, Visual Studio, SDK, Git 설치 개념 잡기 (0) | 2026.07.03 |
| [1회] 바이브 코딩 전에 알아야 할 개발언어 이야기— Python, C#, JavaScript, SQL 쉽게 이해하기 (0) | 2026.07.03 |