Q1NetWiv를 만들기 시작한 계기는 무엇인가요?
회사와 집을 오가며 앱을 만든 지 10년이 넘었습니다. JavaScript, TypeScript, C#, C++, Python, Java까지 여러 언어를 거쳤지만, 결국 가장 손이 가는 건 .NET과 JavaScript였습니다.
Linux, Windows, macOS를 모두 쓰는 입장에서 WinForms나 WPF 같은 .NET 기본 UI 프레임워크는 늘 아쉬움이 컸습니다. 반면 JavaScript와 React는 오래 다뤄 손에 익었기에, 개인 프로젝트는 자연스럽게 Electron 같은 하이브리드 앱으로 기울었습니다.
걸림돌은 네이티브 코드였습니다. Electron에서는 네이티브 DLL 하나를 쓰려 해도 N-API를 거쳐야 했으니까요. 백엔드를 .NET으로 쓸 수 있다면 앱 만드는 일이 훨씬 즐거워지겠다는 생각, 그게 NetWiv의 출발점입니다.
Q2처음부터 새로 만들지 않고 TAURI를 출발점으로 삼은 이유는요?
Electron은 앱마다 Chromium을 통째로 싣기 때문에 배포 용량이 늘 마음에 걸렸습니다. 더 가벼운 대안을 찾다 만난 게 시스템 WebView를 그대로 쓰는 TAURI®였고, 잘 다듬어진 API와 툴체인에 깊은 인상을 받았습니다.
다만 Rust는 아직 제게 익숙한 언어가 아니었습니다. 그래서 TAURI의 핵심인 WebView 엔진만 퍼사드로 연결하면 .NET만의 하이브리드 프레임워크를 만들 수 있겠다는 생각이 구체화됐습니다.
Q3NetWiv를 만들면서 가장 공들인 부분은 무엇인가요?
작은 번들, 빠른 실행, 그리고 익숙한 .NET 개발 경험. 이 셋을 한데 묶는 것이 가장 중요했습니다. 그래서 .NET의 최신 기술인 NativeAOT 배포 파이프라인에 특히 공을 들였습니다.
또 하나는 타입 안정성입니다. 하이브리드 앱은 오래 유지할수록 문자열로 적어 둔 API 이름에서 실수가 생기기 쉽습니다. 그래서 프론트엔드가 C#을 호출하는 코드를 사람이 문자열로 쓰는 대신, 프레임워크가 직접 생성하고 검증하도록 만들었습니다.
Q4TAURI 위에서 시작했는데, 독립을 목표로 하는 이유는요?
TAURI의 API 덕분에 프로젝트의 뼈대를 놀랄 만큼 빠르게 세울 수 있었습니다. 하지만 모바일 지원처럼 TAURI가 향하는 방향 중에는 NetWiv가 가려는 길과 다른 부분도 있습니다. TAURI의 개발 철학을 토대로 삼되, NetWiv만의 색깔을 찾아가고 싶습니다.
궁극적인 목표는 가장 .NET다운 경험을 주는 프레임워크입니다.
Q5AI는 어떻게 활용했나요?
요즘 ‘바이브 코딩’이라는 말과 함께, 그렇게 만든 프로그램이 쏟아지고 있습니다. 보기에 따라 NetWiv도 그런 프로젝트 중 하나로 보일 수 있고, 그렇게 보는 게 이상한 일도 아닙니다.
AI가 대중화되기 훨씬 전부터 코드를 써 왔지만, 개발자의 일하는 방식이 지금처럼 빠르게 바뀐 적은 없었다고 생각합니다. 저는 이 변화를 반기는 편이고, 회사에서도 집에서도 AI를 적극적으로 쓰고 있습니다.
이 정도 규모의 프레임워크라면 보통 열정적인 기여자 여럿이 몇 달, 길게는 몇 년을 쏟아야 합니다. AI가 그런 일을 매우 효율적으로 처리해 주기에, 감히 도전해 볼 수 있었습니다.
루프 엔지니어링, 하네스처럼 매일같이 등장하고 사라지는 패러다임 속에서, NetWiv는 그 흐름에 유연하게 올라타기 위한 제 시험대이기도 합니다.
Q6어떤 개발자가 NetWiv를 써 봤으면 하나요?
.NET을 좋아하는 개발자가 웹 기술로 하이브리드 앱을 가볍고 빠르게 만들어 볼 수 있는 교두보가 되었으면 합니다. 거창한 프로젝트가 아니어도 괜찮습니다.