본문 바로가기

CS/mobile4

프로그레시브 웹 앱(PWA, Progressive Web App) 정의 똑같이 모바일 기기에서 네이티브 경험을 제공한다는 점에서는 웹 앱과 동일함 그러나 오프라인(캐싱) 접속, 푸시 알람 등 기존의 웹 앱이 할 수 없었던 네이티브 기능까지 수행할 수 있는 웹 앱 웹 앱과의 차이점 1. 웹 앱 매니페스트(Web App Manifest), 홈 화면 추가 앱 스토어를 거치지 않고 홈 화면에 설치할 수 있는 웹사이트 기존의 웹 앱은 브라우저를 켜서 접속해야 했음 2. Service Worker를 통한 캐싱 가능 -> 이를 통해 오프라인에서도 동작 가능 3. 푸시 알림 + 카메라, 마이크 등 모바일 기기 자체 기능도 사용 가능 장점 1. 네이티브 수준의 개발 가능 - 물론 모든 기능은 구현할 수 없지만 유사한 경험까진 가능 - 네이티브 언어를 알지 못해도 네이티브의 기능을 구현.. 2024. 3. 11.
네이티브 앱, 하이브리드 앱, 웹 앱 네이티브 앱 안드로이드 SDK나 iOS SDK로 제작한 앱 ex. 카카오톡, 유튜브, 인스타그램 장점 성능이 좋음. (가장 플랫폼에 밀착, 모바일 전용 언어로 개발) 네이티브 API 호출 가능 단점 플랫폼이 제한적 플랫폼 마다 따로따로 개발해야 함 -> 시간, 비용 많이 듦 언어 고정 웹 앱 모바일 브라우저로 열어서 쓰는 앱, 모바일웹보다 모바일에 최적화되어있음 SPA로 네이티브 앱의 느낌을 줄 수 있음 장점 다운받지 않아도 쉽게 접근 가능 모든 기기와 브라우저에서 접근 가능(운영체제 상관 X) 별도로 설치 / 승인이 필요없어 유지보수가 용이함 단점 플랫폼 API 사용 불가능, 브라우저 API만 가능 친화적 터치 X 아무래도 웹으로 개발하는 거다 보니 네이티브보다는 좀 떨어짐 하이브리드 앱 기본 기능은 .. 2024. 3. 11.
[Flutter][React Native] 작동 원리 & 차이점 1. Flutter 작동 원리 플러터는 구글에서 만든 cross-platfrom 프레임워크로, Dart 언어를 사용한다. 다른 네이티브 언어는 OS에 바로 렌더링하라 요구하는데 반에, Flutter는 Flutter Engine을 거쳐서 작동한다. ** 여기서 렌더링이란, 코드를 2D화면에 나타내는 작업 네이티브 언어나 RN은 OS에서 렌더링을 하지만, Flutter는 Flutter Engine에서 렌더링을 한다. 그래서 React Native와는 달리 어느 OS에서든 화면이 같다. 다만 flutter 자체 UI를 사용하기 때문에, 이를 손수 Native 코드로 바꾸기 어렵다는 단점이 있다. 이 때문에 Flutter는 iOS, Android, MacOS, Web(JS), 임베디드까지 작동하는 cross-p.. 2024. 2. 7.
[디자인 패턴] MVC, MVP, MVVM 참고 https://beomy.tistory.com/43 [디자인패턴] MVC, MVP, MVVM 비교 웹 개발자로 일을 하면서 가장 먼저 접한 디자인패턴이 바로 MVC 패턴이었습니다. 그만큼 유명하고 많이 쓰이는 디자인패턴인 MVC 패턴과 MVC 패턴에서 파생되어져 나온 MVP 패턴과 MVVM 패턴을 이야 beomy.tistory.com 0. 배경 및 목표 역할을 나눠서 유지보수와 개발을 하자! 캡슐화, 가상화, 응집도는 높이고 결합도는 낮춤 개발할 때, input/output이 명확하고 모듈 간 역할이 정해져 있기 때문에 개발하기 편하고 다른 사람이 알아보기도 쉽다 역할이 구분되어 있기 때문에, 어디서 문제가 발생했는지 비교적 쉽게 찾을 수 있다. 1. MVC 역할 Model : 데이터, 데이터 처리.. 2024. 2. 5.