웹 애플리케이션(Web application)이란 무엇인가?

안녕하세요. 개발자 드리머즈입니다.


웹 애플리케이션(Web application)이라는 단어에 대해 종종 듣게 되는데, 이게 정확히 뭘 의미하는지 궁금해서 자료 정리합니다.


제가 만들고 있는 iOS Application은.. http를 통해 db서버와 통신하여 데이터를 주고 받으니까, 웹이랑 관련있으니까 이 iOS Application을 Web Application이라고 하는 것인지

아니면 서버 쪽의 php 코드들만을 Web Application이라고 하는지?

아니면 크롬, 인터넷 익스플로러, 사파리 등의.. 브라우저만 Web Application이라고 하는지..

정확한 의미가 궁금했습니다.



제가 만들고 있는 iOS App의 경우 위와 같은 방식으로 동작합니다.


①iOS App에서 서버로부터 필요한 데이터를 가져오기 위해, http://mydomain.com/getData.php 와 같은 주소로 http request 메세지를 보냅니다.

②php Server(getData.php)는 이 메세지를 전달받은 뒤, 메시지 내용에 따라 필요한 내용을 db로부터 가져오기 위해 SQL query를 날립니다.(ex: php코드에서 $prepare->execute();가 실행됨)

③php Server(getData.php)는 SQL result 값을 가져옵니다. (ex: php코드에서 $result = $prepare->fethAll(FETCH_ASSOC);가 실행됨)

④php Server(getData.php)는 획득한 db 값을 이용하여 적절하게 처리하여 필요한 결과를 클라이언트(iOS App)으로 http response를 보냅니다.


http://searchsoftwarequality.techtarget.com/definition/Web-application-Web-app 사이트에 아래와 같은 설명이 있습니다.


Web application (Web app)


A Web application (Web app) is an application program that is stored on a remote server and delivered over the Internet through a browser interface.

Web services are Web apps by definition and many, although not all, websites contain Web apps. According to Web.AppStorm editor Jarel Remick, any website component that performs some function for the user qualifies as a Web app:

“I always ask myself, ‘Does it do something?’ Even if it only does something small and specific, it’s still a web app. Google’s search engine is a web app, yet its root concept is hardly different from a phone directory that enables you to search names or numbers.”

Within the mobile computing sector, Web apps are sometimes contrasted with native apps, which are applications that are developed specifically for a particular platform or device and installed on that device. However, the two are not mutually exclusive because many applications contain elements of both native and Web apps. Programs that combine the two approaches are sometimes referred to as hybrid applications. 

번역을 해보면,

웹 애플리케이션(웹 앱)


웹 애플리케이션은 리모트 서버에 저장되고 브라우저 인터페이스를 통해 인터넷으로 전달되는 애플리케이션 프로그램이다.

웹 서비스는 정의에 의해 웹 앱이며 비록 전부는 아니지만 대다수의 웹 사이트는 웹 앱을 포함한다.

Web.AppStorm의 편집자인 Jarel Remick에 따르면, 사용자를 위해 어떤 기능을 하는 어떠한 웹사이트 컴포넌트(일부분)라도 웹 앱의 자격을 얻는다고 합니다.

"저는 항상 자신에게 묻습니다, '이 부분이 뭔가를 하는가?' 비록 이 부분이 단지 작고 특정한 무엇인가를 하더라도, 이건 여전히 웹 앱입니다. 구글의 검색 엔진은 웹 앱이지만, 이것의 근본 컨센은 사람들이 이름과 전화번호를 찾게 해주는 전화번호부와 다르지 않습니다."

모바일 컴퓨터 분야 내에서, 웹 앱은 가끔 특정한 플랫폼이나 디바이스에서 개발되고 그 디바이스에 설치되는 네이티브 앱(native app)과 비교된다. 그러나 두 앱은 상호 배타적이지 않는데 왜냐하면 많은 애플리케이션은 네이티브 앱과 웹 앱의 속성을 모두 가지고 있기 때문이다. 이 두 방식을 사용하는 프로그램은 가끔 하이브리드 애플리케이션이라고 불린다.


음.. 이 설명이 있고 또한

https://stackoverflow.com/questions/8483711/what-is-a-web-application 에 따르면,

 "Web app" is simply a broad term that can be used to refer to any web based/hosted site or service that involves a significant amount of user interaction, user generated content, or provides a "rich" user experience or a service API for third-parties to integrate with. A web app interface will "run" inside of a web browser, while typically all of the state handling and business logic will be handled by a backing server.

Google App Engine exists to provide a platform for implementing the "backing server" component of a web app (as well as basic hosting for the static resources needed by the app).

The concept of a web app really has nothing to do directly with Android apps. However, an Android app may (and many Android apps commonly do) communicate with a web app to provide various features or services within the app (think weather, Facebook integration, etc.). And in certain cases it is possible to implement a "quick and dirty" Android app by simply pointing a WebView at an existing web app's URL. In such a case that Android app's WebView becomes the "browser" that the web app's UI runs in.

번역을 하면,

"Web app"은 단지 상당한 양의 사용자 상호작용, 사용자가 만든 콘텐트를 수반하거나 "풍부한" 사용자 경험이나 타사가 통합할 서비스 API를 제공하는 어떠한 웹 기반의/관리되는 사이트나 서비스를 언급하는데 사용되는 넓은 의미의 용어입니다. 

Google App Engine web app의 "backing server" 부분을 구현하기 위한 플랫폼을 제공하기 위해 존재합니다.

Web app의 개념은 안드로이드 앱과 직접적인 관련이 정말 없습니다. 그러나 안드로이드 앱은 (많은 안드로이드 앱이 보통 그러하듯이) 앱에서 다양한 특징이나 서비스를 제공하기 위해 web app과 통신합니다.(weather, Facebook integration 등을 생각해보세요) 그리고 특정한 경우에 단순히 기존의 web app의 URL을 보여주는 WebView을 보여줌으로써 짧은 시간에 그럴듯한 안드로이드 앱을 구현할 수 있습니다. 이러한 경우에 안드로이드 앱의 WebView는 web app의 UI가 동작하는 브라우저가 됩니다.

와 같습니다.


이러한 내용을 보아 제가 만들고 있는 iOS app은 Web Application이 아닙니다. php 서버도 마찬가지 입니다.

크롬, 익스플로러와 같은 브라우저에서는 동작을 하지 않기 때문입니다.


제가 만들고 있는 iOS app은 back end에서 web service를 이용하는 native app이라고 합니다.




*참고

stackoverflow 질문글(영어) : https://stackoverflow.com/questions/8483711/what-is-a-web-application

웹 애플리케이션 설명 사이트(영어) : https://www.maxcdn.com/one/visual-glossary/web-application/

웹 애플리케이션 설명 사이트2(영어) : http://searchsoftwarequality.techtarget.com/definition/Web-application-Web-app

웹 애플리케이션 개념 정리 블로그 : http://blog.naver.com/ken6ybn/100160688965

웹 애플리케이션 개념 정리 블로그2: http://knkky.tistory.com/28

작성자

Posted by 드리머즈

관련 글

댓글 영역