바딘은 Java 기반의 오픈 소스 웹 애플리케이션 개발 플랫폼으로, 개발자가 HTML이나 JavaScript를 직접 작성하지 않고도 현대적인 웹 그래픽 사용자 인터페이스를 구현할 수 있게 해준다.
바딘은 Java 기반의 오픈 소스 웹 애플리케이션 개발 플랫폼으로, 개발자가 HTML이나 JavaScript를 직접 작성하지 않고도 현대적인 웹 그래픽 사용자 인터페이스를 구현할 수 있게 해준다.
### 선정동기
가장 먼저 바딘에 관한 문서가 부족하였다. 게다가 한국어로 된 문서는 더욱더 없었다. 사람들이 바딘에 대해서 더 많이 알아주기를 바랬다.
만약 급하게 개발을 해야하는데 자바 밖에 모른다면 html이나 javascript 문법을 배우기에는 벅찰 수 있다. 이런 경우에 java api만 가지고도 빠르고 쉽게 프론트엔드 영역을 개발할 수 있다는 점이 매력적으로 보였다.
### 시행착오
처음에는 vaadin starter가 있는지 모르고 하나하나 의존성 설정을 하려다가 애를 먹었다. 제대로 실행은 되어도 자꾸 로그창에 warning이 떴어서 꺼림찍했다.
또한 프로트엔드는 정말 처음 개발해보는거라 레이아웃의 위치시키는지도 몰랐다. 그래서 폼레이아웃을 가운데로 배치하려는 과정에서 상위 레이아웃의 item 정렬 매서드를 사용해도 작동하지 않았다. 결국 몇시간 검색한 후에야 레이아웃은 마진을 통해서 정렬시켜야한다는 사실을 알게되었다.
### 추가적인 구현
코드 설명에 대한 영상을 만들어야 했기에 강의에 개발했던 모든 기능을 다 담기에는 영상이 너무 헤비해질 것 같았다. 왜냐하면 영상을 찍는 목적이 애초에 바딘에 대한 가벼운 접근과 설명이자 가장 기본적인 기능들을 소개하는 것이었기 때문이다. 그래서 20분 분량의 영상을 만들기로 계획했고 개발했던 부분중에 소개하고 싶었던 기본 기능들을 뽑아서 간추려서 간소화한 다른 프로젝트를 만들어 영상을 만들었다. 추가적인 구현 부분은 master 브랜치에 저장을 해놓았다. 추가적인 구현부분으로는 기존에는 이메일을 작성할 때 풀네임을 적었어야 했다면 @이하 부분은 텍스트로 작성하는 것이 아닌 선택을 하는 방식으로 바꾸었다. 또한 뷰를 하나 더 만들어서 버튼을 누르면 해당 페이지로 이동하는 기능을 추가로 구현하였다.
### 느낌점 및 바딘의 장단점점
바딘은 정말 해당 정보가 적어서 문제가 생기거나 내가 원하는대로 작동하지 않을 때 정답을 찾기가 어렵다는 단점이 있었다. 하지만 어느정도 프론트엔드에 대한 사전 지식이 있으면 부트스트랩처럼 풍부한 컴포넌트를 제공하여 빠른 개발이 가능하다. 해당 매서드의 네이밍 규칙도 css에서 얻어온 것이 많아 css에 대한 사전지식이 있으면 더욱 편하게 접근가능할 것 같다.