Wirespec API design, actually spec first, in your ecosystem By Jerre van Veluw
- Wirespec은 Open API의 복잡성을 해결하고, 사람이 읽고 쓰기 쉬운 API 디자인 언어를 목표로 합니다. 📖
- Open API의 단점으로 지적된 읽기/쓰기 어려움, 복잡한 툴링 선택지, 불필요한 프로젝트 생성 문제를 개선합니다. 🛠️
- Wirespec은 컴파일 언어로, YAML/JSON 대신 자체 언어로 API를 정의하며, Open API와의 호환성을 유지합니다. 🔄
- 생성된 코드(모델, 인터페이스)는 런타임 의존성이 없어, 개발자가 원하는 프레임워크나 라이브러리에 유연하게 통합할 수 있습니다. 🔗
- Kotlin Multiplatform 기반으로 JVM, CLI, JavaScript 등 다양한 환경에서 활용 가능하며, Maven/Gradle 플러그인 및 IDE 플러그인을 제공합니다. 🚀
- 컴파일 시점에 API 계약 위반을 감지하여 강력한 타입 안전성을 제공하며, API 변경 시 코드 수정이 필요한 부분을 명확히 알려줍니다. ✅
- 데이터 모델만 생성하거나, 커스텀 이미터를 통해 특정 직렬화/전송 요구사항에 맞춰 클라이언트/서버 인터페이스를 유연하게 생성할 수 있습니다. 💡
- API 협상 과정을 간소화하고, 상용구 코드를 줄이며, 컴파일 타임 검증을 통해 API 명세와 코드의 일관성을 유지하여 유지보수성을 향상시킵니다. ✨