간단한 Todo-List를 제작하고 얼마 지나지 않아 시작한 Weather-App입니다. 기본적인 기능은 쉽게 만들어 끝낸 상황이었지만 만들다보니 어느정도 욕심이 생겨서 조금씩 추가하고 고치면서 생각보다 시간이 오래 걸렸습니다. 지금 상황에서도 여러가지 시도해볼 수 있는 것이 많아 앞으로도 시간이 날 때 마다 살펴볼 예정입니다.
자신이 알고 싶은 지역을 검색하면 Open API인 'OpenWeather'를 사용하여 요청에 관련된 데이터를 받아와 화면에 렌더링합니다. 알려주는 정보는 아래와 같습니다.
일반적인 화면
태블릿 화면
모바일 화면
Weather-App를 제작하면서 매번 느끼는 '백문불여일견'!! 이론적인 내용을 공부하고 알고 있어도 직접 적용하지 않는다면 절대로 자신의 것이 될 수 없다는 것을 느낍니다. 아무리 쉬운 작업이라 할지라도 여러번 반복하여 사용해 익숙해지는 것이 곧 성장이는 것을 다시 한 번 새기는 기회가 되었습니다.
1. 화면 구성
레이아웃 구성을 할 때마다 시간이 오래 걸리는 것을 느낍니다. 더욱이 이제 막 쓰기 시작한 tailwind도 쓰려고 보니 이번에는 더욱 심했고, 반응형 작업도 중간에 추가하여 코드를 작성하기 보다는 레이아웃에 할당하는 시간이 많았습니다.
다음 프로젝트에서는 큰 틀의 레이아웃 작업을 미리 해놓고(반응형 작업 포함) 개발하는 것을 목표로 하여 해당 문제점을 해소할 생각입니다.
2. 무계획성
간단한 날씨 앱을 만들자! 라는 생각만 가지고 시작하여 그때마다 넣고 싶은 기능을 추가하고 많은 수정을 거쳐 오랜 시간이 걸렸습니다. 또한 무분별한 기능 추가 계획으로 인해 원래 구현하려고 했던 기능 또한 잊고 넘어가는 문제도 생겼었습니다.
다음 프로젝트에서는 충분한 계획을 가지고 정해놓은 기간 안에 완료하는 것을 목표로 할 것입니다.
3. 요청 데이터 타입 지정
HTTP 요청을 통해 받아오는 데이터의 타입을 미리 지정하지 않고 필요에 따라 지정해서 사용했기에 어느 시기부터 같은 요청 데이터의 타입 지정을 여러 번 하는 상황까지 오고 말았습니다. 이러한 무분별한 사용은 좋은 코드에서 너무나도 멀리 떨어져 있는 상황이라 생각합니다.
앞으로는 위와 같은 일이 일어나지 않도록 필요한 HTTP 요청들을 문서로 관리하고 미리 타입 지정 할 것입니다.
전체적으로 지금 저에게 부족한 것이 무엇인지 파악할 수 있는 기회가 되었습니다. 위에서 언급한 내용의 문제점들을 간단하게 파악하자면 아무런 계획없이 프로젝트를 진행하였고 이로 인해 전체적으로 시간이 오래 걸리게 되었습니다. 다음 프로젝트에서는 이러한 부분을 고치려고 합니다.