Skip to main content

Command Palette

Search for a command to run...

Mobile computing in Computer science introduction week 10

모바일 컴퓨팅, 컴퓨터학개론 10

Updated
9 min read
Mobile computing in Computer science introduction week 10

Goals:

  • 모바일 컴퓨팅의 개념을 설명할 수 있다(Can explain the concept of mobile computing)

  • 모바일 플랫폼에 대해서 이해하고 안드로이드와 iOS의 특징을 나열할 수 있다 (Understand mobile platforms and be able to list the characteristics of Android and iOS)

  • 모바일 어플리케이션의 특징을 이해하고 모바일 앱과 웹의 차이점을 설명할 수 있다. (Understand the characteristics of mobile applications and explain the differences between mobile apps and the web)

Contents:

  • PC와 모바일의 성장 과정(development of pc and mobile over time)
  • 모바일 컴퓨팅(Mobile computing)

    • 모바일과 모바일 컴퓨팅(Mobile and mobile computing)

    • 모바일 컴퓨팅의 특성(Characteristic)

  • 모바일 운영체제(Mobile OS)

    • 모바일 운영체제 종류(Type of Mobile OS)

    • 모바일 운영체제 점유율(Mobile OS market shares)

  • 모바일 어플리케이션(Mobile application)

    • 모바일 어플리케이션 특성(Characteristic of Mobile Application)
  • 네이티브 앱(Native App)

  • 웹 앱(Web app)

  • 하이브리드 앱(Hybrid app)


💡1980년 통신환경

(PC and mobile in 80's)

  • PC 통신이 시작되었으며, 모뎀과 전화망을 사용하여 컴퓨터 간에 데이터 통신이 이루어졌다.

  • 전송 속도가 느리고 연결이 불안정했지만, 이는 초기 단계의 발전으로 볼 수 있다.

💡 1990년 통신환경

(PC and mobile in 90's)

  • 초기 인터넷 서비스는 주로 텍스트 기반으로 이루어졌으며, 전자우편, 게시판, 채팅, 동호회 등의 서비스가 주를 이루었다.

  • 1998년 초고속정보통신망이 개통 되었다.

💡 2000년 통신환경

(PC and mobile in 00's)

  • 초고속 인터넷 회선의 보급이 시작되고

  • WWW 기반 인터넷 서비스가 시작된다.


💡모바일과 모바일 컴퓨팅

(Mobile and mobile computing)

📍모바일 컴퓨팅의 활용(Usage of Mobile computing)

  • 모바일 컴퓨팅은 가지고 다니면서 이용 가능하다(유비쿼터스) 예) 휴대폰이나 랩탑컴퓨터, PDA, 노트북, 스마트폰 등

  • 다양한 분야에 폭넓게 활용된다. 예) 다양한 영업 활동유통 분야의 A/S, 의료기관, 보험, 이동 금융서비스, 택배 업무 등


💡모바일 컴퓨팅의 특성(Characteristic)

📍편재성(Ubiquity)

    • 휴대폰이나 스마트폰을 이용하여 이용자가 언제 어디서나 실시간으로 정보 검색과 통신을 할 수 있도록 지원해 주어야 한다.

      • 유비쿼터스(Ubiquitous)Present, appearing, or found everywhere. 정보 및 통신 기술이 어디서나 쉽게 접근 가능하고, 연결되어 있어 사람들의 일상생활에 녹아들어 있는 상태를 나타낸다. 다시 말해, 사람들이 어떤 장소에서든 필요한 정보와 서비스를 원활하게 이용할 수 있는 환경을 의미한다.

📍접근성(Accessibility)

    • 무선 단말기를 가진 사용자는 언제 어디서나 필요한 곳에서 연결할 수 있음

      • 특별한 경우에는 특정 인물이나 시간대를 제한하여 접근할 수 있도록 한다.

📍보안성(Security)

    • 모바일 컴퓨팅은 무선 보안기술을 사용하므로 유선 인터넷상에서의 보안보다 훨씬 높은 수준의 안전한 보안성을 유지해야 한다.

📍즉시 연결성(Instant connectivity)

    • 언제 어디서나 사용자가 원하는 즉시 스마트폰으로 인터넷에 연결하여 사용할 수 있어야 한다.

💡모바일 운영체제(Mobile OS)

운영체제 (Operation System, OS)

  • 컴퓨터를 효율적으로 작동시키기 위한 시스템 소프트웨어이다.

모바일 운영체제(Mobile OS)

  • 스마트폰을 효율적으로 작동시킬 수 있는 스마트폰용 운영체제를 뜻한다.

📍모바일 운영체제 개요(Overview of Mobile OS)

  • 컴퓨터랑 다를건 없지만 개발 방식에 따라 공개형(Android)/폐쇄형(IOS)로 운영체제가 나뉜다.

  • 앱들을 사용할 수 있는 API 및 개발도구를 제공한다.

  • 앱스토어를 통해 일반 개발자들이 제작한 다양한 애플리케이션을 제공한다.

📍모바일 운영체제 종류(Type of Mobile OS)

안드로이드(Android) OS

  • 구글(google)이 개발하였다. 리눅스 기반(open source)을 사용해서 모바일에 맞게 커스터마이징한 개방형 모바일 운영체제이다.

  • 누구든지 소스 코드(source code)를 수정하며 개발할 수 있는 오픈 플랫폼(open platform)

  • 구글의 검색엔진, G메일, 유튜브 등의 서비스와 연계되어 그 효율성이 인정받았다.

  • 현재 삼성전자, LG, HTC, 모토로라를 비롯한 여러 기업들의 스마트폰 OS로 탑재되어 있으며, 지금도 수많은 애플리케이션들이 만들어지고 있다.

  • 모바일 OS 중 세계 점유율이 가장 높음

(오른쪽)리눅스를 기반으로한 다양한 라이브러리가 LINUX KERNEL위에 존재한다.

아이폰 IOS

  • 애플이 개발한 Mac 기반의 모바일 운영체제이다. 호환성이 아주 좋다.

  • 애플의 아이폰과 아이패드에 사용되는데 소스코드를 외부에 일체 공개하지 않는 폐쇄형 OS

  • 하지만 앱을 개발할 수 있는 API나 개발 툴킷이 제공되기 때문에 아이폰용 앱을 개발 할 수 있다.

  • 스마트폰의 선두주자로서 많은 수의 애플리케이션들을 보유한다.

  • 아이클라우드 기술과 애플 특유의 감성적 디자인을 가지고 있다.

블랙베리(BlackBerry) OS

  • 캐나다의 스마트폰 제조업체 RIM(Research In Motion)이 블랙베리 스마트폰을 위해 개발한 운영체제이다.

  • 사진처럼 키보드를 내장하기 때문에 컴퓨터 사용하듯이 활용이 가능해서 주로 비즈니스 용도로 많이 활용하였다.

  • e-메일, 문서 작성, 사내 유선전화 시스템과 연동

Windows 10 Mobile

  • 마이크로소프트가 개발한 모바일용 운영체제이다.

  • 사용하는 윈도우즈 OS와 인터페이스가 매우 유사하여 사용자에게 익숙하다.

  • 편리하고 호환성이 높다.

  • 약점들이 있어 점유율은 IOS, 안드로이드에 비해 낮다.

타이젠(Tizen) OS

  • 리눅스 기반의 스마트폰 운영체제이다.

  • 삼성전자와 인텔을 비롯한 타이젠 협회 회원사들 주도로 개발되었다.

  • 2012년 4월에 정식버전 발표 후 지속적으로 개발 중이다.

  • 안드로이드가 무게가 나가기 때문에 소형으로 개발한 OS라고 생각하자

  • 스마트폰, 태블릿 PC, 스마트워치, 가전제품, 차량 등 다양한 디지털 기기에 탑재될 수 있도록 설계된 임베디드 시스템에 사용되는 운영체제이다.

  • 삼성 갤럭시 기어2,갤럭시 워치3, 스마트 TV 등에 탑재되었다.

  • 번외로 애플워치에는 WatchOS라는 전용 운영 체제가 사용된다. iOS와 유사한 기술 스택을 공유하지만, 애플워치의 특정한 요구 사항과 하드웨어에 맞게 최적화된 OS이다.

📍모바일 운영체제 점유율(Mobile OS market shares)

  • 안드로이드의 점유율이 계속 높아지는 이유는 오픈소스이기 때문에 회사에서는 운영 체제에 돈을 투자하지 않아도 되는 장점이 있어서 점유율이 제일 높다.

  • 블랙베리는 점유율이 점점 다른 회사에 밀리고 있다.

  • 윈도우 모바일도 큰 점유율을 보이고 있진 않다.


📍Top Growth Apps Worldwide 2022, 2018

2022년 앱 다운 순위 공통점: 영상 플랫폼(streaming platform)이 많이 사용되고 있다.

2018년 앱 다운 순위 공통점: SNS(Social media)가 많이 사용되었다.

  • 이러한 트랜드를 통해 모바일 앱의 사용의 변화를 알 수 있다.

💡모바일 앱(Mobile application)

📍개요(Overview)

  • 스마트폰 내에서 활용할 수 있는 응용 프로그램이다.

  • 간단하게 줄여서 어플 또는 앱(App) 등으로 불린다.


📍모바일 앱의 특성(Characteristic of

Mobile Application)

  1. 즉시 연결성 (Instant Connectivity):

    • 모바일 어플리케이션은 인터넷 연결이 가능한 장소에서 즉시 사용할 수 있다.

    • 사용자가 모바일 기기를 통해 앱을 실행하면, 즉시 서버와의 연결을 통해 데이터를 요청하고 받아올 수 있다.

  2. 지역성 (Locality):

    • 모바일 어플리케이션은 사용자의 현재 위치에 대한 정보를 활용할 수 있다.

    • 이를 통해 사용자에게 지역에 관련된 콘텐츠, 서비스, 이벤트 등을 제공한다.

    • 지역 기반 서비스를 통해 사용자의 특정 위치에 맞춘 맞춤형 경험을 제공한다.

      • 지역 기반 서비스는 위치기반서비스(Location Based Service)로 구현이 가능하다.

위치기반서비스(Location Based Service)저렴한 GPS칩을 위치정보와 주변 지리정보를 이용한 서비스이다. 교통정보, 게임, 위치추적, 전자상거래, 광고 등에 활용할 수 있다.

  1. 전달성 (Immediacy):

    • 모바일 어플리케이션은 사용자와 실시간으로 상호 작용한다.

    • 푸시 알림을 통해 중요한 정보를 즉시 전달하고, 사용자의 반응에 따라 신속하게 대응할 수 있다.

    • 실시간 채팅이나 상호작용 기능을 통해 사용자와의 실시간 대화를 할 수 있다.

  2. 개인화 (Personalization):

    • 모바일 어플리케이션은 사용자의 선호도, 행동 패턴, 위치 정보 등을 분석하여 맞춤형 콘텐츠나 서비스를 제공할 수 있다.

    • 사용자의 개인화된 콘텐츠 추천, 맞춤형 광고, 사용자 경험 개선 등을 통해 사용자에게 더욱 가치 있는 경험을 제공할 수 있다.


💡모바일 앱의 활용(Use of Mobile application)

📍증강현실(AR, Augmented Reality)

  • 증강현실(AR, Augmented Reality)은 현실 세계에 추가적인 가상적인 요소를 추가하여 사용자에게 현실과 가상 세계의 결합을 제공하는 기술이다. 카메라, 고해상도 디스플레이 기능과 가상 정보 제공을 위한 위치인식 기능이 필요하다. AR은 실제 환경과 상호작용하는 가상 객체나 정보를 사용자에게 제공함으로써 확장된 현실 경험을 제공한다.
  1. 실시간 인식(Real-time recognition) AR 기술은 카메라나 다른 센서를 사용하여 실제 환경을 실시간으로 인식하고 분석한다. 이를 통해 가상 객체나 정보를 현실 세계에 적절하게 배치할 수 있다.

  2. 가상 객체 삽입(Virtual object insertion) AR은 실제 환경에 가상적인 객체를 삽입하여 사용자에게 제공한다. 예를 들어, 스마트폰 카메라를 통해 볼 수 있는 환경에 가상적인 캐릭터, 가구, 또는 정보 팝업을 삽입할 수 있다.

  3. 상호작용성(Interactivity) 사용자가 가상 객체와 상호작용할 수 있도록 한다.

  4. 실제 환경에 맞는 배치(Real-world alignment) 사용자가 실제 환경에서 움직이는 동안 가상 객체를 현실에 적절하게 배치한다.

  5. 다양한 응용 분야(Diverse applications) AR은 게임, 교육, 의료, 건축, 마케팅 등 다양한 분야에서 활용됩니다. 예를 들어, AR을 활용한 학습 애플리케이션은 사용자에게 더욱 현실적이고 흥미로운 학습 경험을 제공한다.


📍커뮤니케이션(Communication)

모바일 앱에서 커뮤니케이션은 사용자들 간에 정보를 교환하고 상호작용하는 과정을 의미한다. 이 과정을 개발자의 입장으로 활용하자면 이 상요작용하는 소설 네트워크를 인터넷을 통하여 연결해주는 서비스로 발전할 수 있다. 주요 목적은 사용자들 간에 소통하고 협력하여 목표를 달성하는 것이다.

이는 다양한 형태로 이루어질 수 있는데 문자메세지 서비스(SMS)와 멀티미디어 메시지 서비스(MMS)를 결합해서 만든 "RCS (Rich Communication Services)"도 그 중 하나이다. 대표적인 RCS 기업으로는 구글이 있다.

  1. 메시징 및 채팅(Message and chatting) 사용자들은 모바일 앱을 통해 텍스트, 이미지, 음성 메시지를 교환하고 실시간으로 채팅한다.

  2. 소셜 미디어 플랫폼(Social media platform) 모바일 앱을 사용하여 소셜 미디어 플랫폼에 접속하여 친구들과 사진, 동영상, 상태 메시지 등을 공유하고 좋아요, 댓글, 공유 등의 상호작용을 할 수 있다.


📍클라우드 서비스(Cloud Service)

https://www.lucidchart.com/blog/cloud-computing-basics

  • 모바일 컴퓨팅이 발전하면 할수록 클라우드 서비는 발전하게 된다.

  • 인터넷을 통해 컴퓨팅 리소스를 제공하는 서비스이다. 이는 서버, 스토리지, 데이터베이스, 네트워크, 소프트웨어, 분석, 인프라 등을 포함한다. 일반적으로 사용자는 이러한 리소스에 대한 액세스를 인터넷을 통해 이용하거나 요금을 지불하여 이용한다.

  • 클라우드 서비스는 사용자가 자체적으로 하드웨어 또는 소프트웨어를 구매하고 관리하는 대신, 필요한 리소스를 인터넷을 통해 유연하게 이용할 수 있도록 한다.


💡모바일 앱(Mobile App)

📍네이티브앱(Native App)

개요 (Basic Overview of Native App)

  • 모바일 운영체제의 API(Application Programming Interface)와 SDK(Software Developer Kit)를 제공하여 일반 개발자들, 회사들이 자기들의 비니지스 영역을 모바일로 확대하기 위해 제작

  • 휴대 전화에서 볼 수 있는 말그대로 "앱"이다. 모바일 단말기의 기능에 최적화된 애플리케이션

  • 앱스토어에 등록하고 배포

네이티브앱의 장점(Cons of Native App)

  1. 성능(Performance) 네이티브 앱은 플랫폼에 최적화되어 있기 때문에 빠른 실행 속도와 우수한 성능을 제공한다. 하드웨어와 소프트웨어의 특징을 최대한 활용하여 사용자 경험을 향상시킨다.

  2. 사용자 경험(UX, User Experience) 네이티브 앱은 각 플랫폼의 UI/UX 가이드라인을 준수하며, 플랫폼 고유의 기능과 특징을 완벽하게 지원한다. 이로 인해 사용자들은 플랫폼에 익숙한 사용자 경험을 누릴 수 있다.

  3. 접근 권한(Access to Permissions) 네이티브 앱은 플랫폼의 기능과 하드웨어에 직접적으로 접근할 수 있어서, 카메라, 위치 정보, 연락처 등과 같은 기능을 효과적으로 활용할 수 있다.

네이티브앱의 단점(Pros of Native App)

  1. 개발 비용 및 시간(Development Cost and Time) 네이티브 앱은 여러 운영체제에 맞게별도로 개발해야 하므로 개발 비용과 시간이 증가한다. 또한 플랫폼별로 버젼이 업데이트 될 때마다 유지보수해야 하므로 개발 및 유지보수 비용이 높아질 수 있다.

  2. 배포 제한(Distribution Limitation) 각 플랫폼의 앱 스토어에서만 배포할 수 있기 때문에 승인 과정을 거쳐야 하고, 승인에 실패하거나 거부될 수 있다.

  3. 업데이트 관리(Update Management) 앱의 업데이트는 각 플랫폼마다 별도로 관리되어야 합니다. 따라서 동일한 업데이트를 모든 플랫폼에 적용하기 위해서는 추가적인 작업이 필요할 수 있습니다.

📍웹 앱(Web App)

개요 (Basic Overview of Web App)

  • 모바일 웹은 웹브라우저를 통해 애플리케이션에 접속한다.

  • 모바일 웹 애플리케이션은 웹 표준기술로 작성된다. (HTML5, CSS, JavaScript, PHP 등)

  • 브라우저를 어떤 운영체제를 쓰더라도 사용자는 같은 화면을 이용하게 된다.

  • 웹 기술로 개발하지만 겉모양은 네이티브앱과 비슷한 UX 제공

  • 플랫폼에 종속적이지 않음

  • 모바일 단말기를 제어하기 어려우나 PWA(Progressive Web Apps)으로 발전하는 추세이다. 예)구글 웹사이트

웹 앱의 장점(Cons of Web App)

  1. 다양한 플랫폼 지원(Cross-platform Support) 웹 앱은 웹 브라우저를 통해 실행되므로 모든 플랫폼에서 동작합니다. 따라서 별도의 개발이 필요 없이 모든 기기에서 동일한 경험을 제공한다.

  2. 업데이트 용이성(Ease of Updates) 웹 앱은 사용자가 웹 페이지에 접속할 때마다 최신 버전으로 자동으로 업데이트되므로, 사용자가 네이티브 앱처럼 별도의 업데이트 과정을 거칠 필요가 없다.

  3. 접근성(Accessibility) 웹 앱은 웹 브라우저를 통해 접근되므로 다운로드나 설치 과정이 필요하지 않다. 사용자들이 쉽게 액세스할 수 있고, 마케팅 및 홍보에 유리하다.

  4. 비용 절감(Cost-effectiveness:) 모든 플랫폼에 대해 별도의 개발이 필요하지 않으므로 개발 및 유지보수 비용이 저렴하다.

  5. SEO 용이성(SEO-Friendly, Search Engine Optimization) 검색 엔진 최적화를 통해 검색 결과에 노출되기 쉽다.

웹 앱의 단점(Pros of Web App)

  1. 오프라인 접근 제한(Limited Offline Access)일반적으로 웹 앱은 온라인 상태에서만 작동하며, 오프라인에서는 기능이 제한된다. 하지만 Service Worker와 같은 기술을 사용하여 오프라인에서도 동작할 수 있도록 개선할 수 있다.
  1. 제한된 하드웨어 접근(Restricted Hardware Access) 웹 브라우저에서 실행되는 웹 앱은 기기의 하드웨어에 직접 접근할 수 있는 기능이 제한된다. 이로 인해 특정 기능을 구현하기 어려울 수 있다.

  2. 성능 제약(Performance Constraints) 네이티브 앱에 비해 성능이 떨어질 수 있습니다. 특히 복잡한 그래픽이나 대용량 데이터 처리와 같은 작업에는 제한이 있을 수 있다.

📍하이브리드 앱(Hybrid App)

개요(Overview)

  • 모바일 앱과 모바일 웹의 장점을 살린 앱이다.

  • 웹 기술을 주로 이용하여 애플리케이션의 내부 구조와 인터페이스 작성

  • 단말기 센서 등 단말기 제어 기능은 전용 API를 사용하여 앱으로 개발 예) 인스타그램, Gmail, 트위터, 페이스북 등


Introduction to Computer Science

Part 5 of 9

One of my subject at uni "Introduction to Computer science" study note. I have no experience studying computer science before.

Up next

What is Internet and Web? Week 9

History of Internet and Internet structure, Understand web concept and list various web service.