앱관련 왕초보 질문드립니다. ㅠ
CMS/프레임워크 | 사용안함 |
---|---|
개발 언어 | 사용안함 |
안녕하세요. 오랜만에 인사드립니다.
아무리 검색해봐도 제가 원하는 정보가 없어서 이곳에 올려봅니다.ㅠ
보통 홈페이지를 만들면
호스팅에 html css 파일을 올려서 도메인 연결하면 브라우저에서 도메인으로 들어가게 되는거잖아요?
또는 서버에서 언어설치하고 라이믹스 설치하고 만들어서 브라우저통해서 접속하게되는데
앱은 어떻게 되는건지 궁금합니다
앱도 파일을 서버에 올리고 앱을통해서 접속하는건가요? 계산기 같은건 서버 필요없겠지만 메모장이나 투두리스트 같은건 서버가 필요할것같은데 어떤개념인지 알려주는곳이 없네요
설명하기가 어렵네요 ㅠ
맛점하세요
댓글 6
으로 검색해보세요.
네이티브앱이라고 하더라도 서버에 접속해야 한다면 인터넷 망으로 연결합니다.
네이티브앱이 어떻게 돌아가는건지 궁금해서요 ㅠ
홈페이지처럼 비슷한건지 아니면 점 다른개념인건지..
다 앱에 포함되어있습니다.
서버에 접속해야 정보를 주고 받아야 하는 것은 제외하구요.
당연히 서버에 있지요.
메모장라고 한다면
메모장의 모양이나 동작 등이 모두 앱 자체에 들어가 있지만
만약 다른 기기와 동기화를 하기 위해서 서버에 메모를 저장한다고 한다면 메모는 서버에 있겠죠.
네이티브앱은 브라우저부터 홈페이지의 html, css, js외에 php같은 서버사이드언어도 필요하다면 그것도 모두 앱에 포함되어있는거죠.
다만 db부분은 앱에 포함되어있을수도 있지만 다른 사람과 공유를 한다면 서버에 있는 것입니다.
고맙습니다!
Java나 Kotlin이라는 언어로 클라이언트 단을 담당할 앱을 제작합니다.
클라이언트 앱은 사용자들이 휴대폰에 설치하여 직접 조작할 수 있는 프로그램이지요.
투두이스트를 예로 보자면, 할일을 등록하는 동작(제목입력/날짜선택 등)을 담당하지요.
이후, PHP나 Nodejs 같이 서버 단에서 작동하는 프로그램을 제작합니다.
이 부분은 사용자가 직접 보거나, 사용할 수 있지는 않습니다만, 이전에 만들었던 클라이언트앱과 연동되어, DB를 읽기/쓰기 하거나 서버 내부에서의 연산을 진행하거나 할 때 사용됩니다.
클라이언트 앱에서 입력한 할일을 이 서버단으로 전달해 주면, 서버단에서는 해당 정보를 저장하였다가, 이후 클라이언트에서 해당 정보를 요청하면 다시 전달해주는 등의 역할을 담당하지요.
웹에 비유하자면, 클라이언트는 HTML/CSS/JS로 만든 브라우저에 출력되는 내용일거고, 서버는 라이믹스가 작동되는 PHP 서버를 뜻하겠지요.
조금 더 정확하게 표현하자면, 클라이언트는 브라우저에 해당하고, 서버는 아파치나 엔진엑스와 같은 웹서버를 의미하겠지요.
결론을 내자면, 이 경우는 ((단독으로도 작동할 수 있는) 앱을 제작하고) ((동기화 등의 기능이 필요하다면) 서버단 프로그램을 추가로 제작하여 통신한다) 가 되겠네요.
2. 하이브리드앱의 경우
하이브리드 앱도 사실 비슷합니다. 안드로이드나 iOS에서 지원하는 웹뷰라는 위젯을 활용하여 개발된 앱을 의미하는데요.
웹뷰를 사용하면 (XML과 Java 등을 통한 복잡한 UI 개발 방식)을 (HTML/CSS/JS 를 통한 간단한 방식)으로 바꿀 수 있지요.
또한 내부 기능 구현도 JS를 활용할 수 있게 되니, 웹개발자들에게 유리한 방식의 앱 형태이지요.
내부적인 기술을 제외하고 본다면, 개발 언어만이 바뀔 뿐 네이티브 앱과는 다른점이 별로 없을텐데 왜 언급했냐 하면...!
요즘은 웹뷰에 외부 홈페이지를 그대로 출력시키는 방식의 앱이 많이들 출시되고 있기 때문입니다.
사실 이런 앱은 하이브리드 앱이라고 부르기보다는, ((A 사이트만 접속할 수 있는)(네이티브)(브라우저 앱)) 이라고 불러야 하겠지만... 뭐...
웹버전 투두이스트를 먼저 만들고, 이를 웹뷰에 출력시키기만 하는 방식으로 앱을 제작하는게 요즘 말하는 웹뷰형 앱입니다.
이런 경우 말씀하신 것 처럼 (파일을 서버에 올리고 (사실상 홈페이지를 제작하고)) ((제작한 홈페이지만 접속할 수 있는 앱을 제작하여 배포 후) 앱을 통해서 접속) 하는 방식으로 작동되겠지요.
3. 웹앱의 경우
웹앱의 경우는 질문하신 분께서 말씀하신 앱에는 포함되지 않는다고 생각하지만, 일단은...
웹앱은 모바일 브라우저를 통해 작동되는 앱입니다. 2번에서 설명한 웹뷰앱이 아니라, 휴대폰에 기본적으로 설치된 브라우저(예를 들어 크롬이나 삼성브라우저 등)에서 작동되는 경우요.
그러니, 사실 작동 방식은 2번과 거의 흡사합니다. 단지 접속하는 앱이 기본 브라우저냐, 전용 브라우저냐 일 뿐이네요.
다만 웹뷰앱(2번)과 웹앱(3번)이 취급하는 범위가 좀 다르기는 합니다.
웹뷰앱의 경우 ((홈페이지를 쉽게 접속하게 해 주는) 앱)이라는 느낌이지만, 웹앱의 경우 ((웹브라우저를 통해 사용할 수 있는) 앱) 이라고 보셔야 합니다.
웹앱의 간단한 예시를 들자면, https://stackedit.io/ 과 같은게 있겠네요.
정리하자면, (파일을 서버에 올리고 (사실상 웹기반 프로그램을 제작하고)) (웹 브라우저를 통해서 접속) 하는 방식으로 작동되겠습니다.
말주변이 없어서 이해하기 힘드시겠지만,
제가 가능한 선에서 설명드렸습니다 (_0_)