새로 접하는 것들은 많은데, 보고 지나가도 다음에 다시 보면 새로운 것들이 많아서 정리해보려고 한다. 정리하면 좀 더 오래 기억할 수 있겠지?
스마트폰의 시대가 시작되며 앱의 사용량이 증가하자 네이티브 앱의 시대가 찾아왔다.
네이티브 앱을 개발하고 유지보수하는 것은 상당히 길고 복잡한 과정이다.
좀 더 편리하게 개발하기 위해 PWA가 등장하였다.
PWA란 progressive web app의 줄임말이다. 모바일 기기에서 네이티브 앱과 같은 사용자 경험을 제공하는 웹 앱이다. PWA를 사용하면 사용자가 앱을 다운로드하거나, 업데이트 할 필요 없이 웹 브라우저를 통해 바로 사용할 수 있다. 대표적인 예로는 트위터가 있다.
하지만 PWA가 네이티브 앱을 완전히 대체할 수 있나라면, 정답은 '아니다'이다.
iOS의 경우, PWA에 필요한 기술들을 사파리(Safari) 브라우저가 지원하지 않는 경우가 많고, 애플은 아직까지 관련 기술들을 완전히 지원하지 않기 때문에, 다른 플랫폼에서와 동일한 환경을 구성하는 것이 조금은 번거롭다고 한다.
둘 다 공통점으로는 다른 누군가가 만든 코드인데, 우리의 프로젝트를 위해서 가져다 쓰는 것이다.
프레임워크와 라이브러리를 구분하는 가장 큰 기준은!!
⭐️ 내가 코드를 컨트롤하는건지(라이브러리) / 누군가의 규칙에 따라 코딩하는건지(프레임워크) ⭐️
내가 편하게 코딩을 하기 위해 라이브러리를 사용하는 것, 원한다면 다른것으로 대체해서 사용할 수도 있음
프레임워크로 일을 할 때는 프레임워크의 규칙을 따라야 함.
리액트는 검색해보면 라이브러리(내가 필요할 때 불러오는거니까)인가, 아니면 프레임워크(컴포넌트를 불러오잖아)인가 하는 질문글이 많이 보인다. 어떤 기준에서 보느냐에 따라 둘 다 만족을 해서 그러는 것 같은데 공식문서에는 ✏️사용자 인터페이스를 만들기 위한 JavaScript 라이브러리 라고 안내되어 있다.
이건 프레임워크야, 라이브러리야 라고 얘기는 하고 있지만 차이점을 설명해달라고 하면 명확하게 말을 못 했는데 이번 기회에 알게 된 것 같다.