안드로이드 모바일 응용 프로그램 개발 아키텍처, 크로스 플랫폼 기술 진화

> 개발 Zatan은 안드로이드 모바일 응용 프로그램 아키텍처 개발의 간략한 역사 - https://mp.weixin.qq.com/s/a5PfzO5qh_1P1TcCwdWonQ
  프레임 워크 : 프레임 워크의 일단 형성되면 자신의 세트는 당신이되기 위해 장기, 또는 회사 전체를 사용할 수 있습니다 크게 새로운 프로젝트에 직접 사용할 수있는 새로운 프로젝트 개발 프로젝트의 후반 부분의 효율성,하지만 비즈니스 기능의 실현에 주요 초점을 개선, 개발 표준의 설정.
  핵심 아이디어 "보다 안전하고 편리 호출 코드 사이의 결합 낮은 수준"는, 목표의 좋은 소프트웨어 영원한 추구입니다.

--4 세대 아키텍처

1 세대 : 표준 MVC 아키텍처 워크 플로우 :
1.View 사용자 상호 작용 요구 수용
2.View는 컨트롤러에 요청을 전달
3.Controller 데이터 업데이트 작업 모델
데이터 업데이트, 모델보기 데이터 변경 통지 후 4.
5. 보기 디스플레이 데이터 업데이트 후

2 세대 : MVP 워크 플로우 차트 :
1.View 사용자 상호 작용의 요청을 수락
발표자로 요청 2.View
3.Presenter 데이터베이스 업데이트 작업 모델
데이터 업데이트 후 4. 모델 발표자 통지 데이터가 변경
5.Presenter 업데이트보기 데이터

3 세대 : MVVM 워크 플로우 :
명령의 1.View 사용 DataBinding 이벤트가 바인딩 및 이벤트에 응답하기 위해, 네트워크 요청이 트리거
, 방법 2.ViewModel 분석 및 처리를 데이터 요청할 수있는 모델 호출을
받을 요청 3.Model 매개 변수를 패키지 및 기타 정보는 네트워크 요청이 라이브러리를 호출
4.에게 다른 네트워크 개조 라이브러리 서버 데이터를 반환 한 다음 모델 계층에 반환
콜백을받을 5.ViewModel 엔티티 클래스 객체 반환
6. XML 엔티티 클래스 객체는 양방향 넥타이를 구현하므로 설정, 업데이트 엔티티 클래스 등이 UI 업데이트

4 세대 : 컴포넌트 기반 아키텍처 MVP +의 4 대 :
 일반적으로 상관없이, 아키텍처에서 사용하지 않는이 세 가지 항목 위에 안드로이드 개발은 어떤 아키텍처의 종류, 항상 다양한 모듈 사이에 단일 구조 프로젝트, 또는 기존의 패키지 이름입니다 각 모듈은 강한 커플 링이 발생 프로그램의 천연 성분, 각 비즈니스 _ 모드 구성 요소 및 서브 모드 해제 모드의 개발이있을 인 구별은 독립 모듈 APK이다 릴리스 모드에서 포장 할 때 다양한 모듈 간의 완전한 디커플링을 수행 별도 컴포넌트 라이브러리로 각 비즈니스 모듈.

1. 통합 모드 : 모든 비즈니스 구성 요소가 완전한 APP 형성, 의존 "응용 프로그램의 주택 프로젝트"이다;
2. 구성 요소 모드 :; 비즈니스 구성 요소는 각 비즈니스 구성 요소는 APP이며, 독립적으로 개발 될 수있다
: 관리를 담당 3.app 주택 프로젝트를 각 서비스 구성 요소 및 포장 APK, 아니 특정 비즈니스 기능,
4 개 서비스 구성 요소 : 프로젝트 독립적으로 형성된 특정 비즈니스 회사,
5. 기능 구성 요소 : APP의 개발은 인쇄 로그와 같은 특정 기본 기능을 제공, 드롭 다운 새로 고침 다른 컨트롤,
6.Main 성분 : 비즈니스 성분 지정 APP 시작 페이지, 메인 인터페이스에 속하는;
7.Common 성분 : 비즈니스 컴포넌트지지 비즈니스 컴포넌트 가장 필요한 기능을 제공하는 기본적인 기능 요소에 속하는

  MVC, MVP 또는 MVVM하든, 그들은 모두 프로젝트의 코딩 구조에 속하고 컴포넌트 기반 아키텍처는 전체 프로젝트 엔지니어링, 그 주요 의미는 각 모듈을 위해 원래 패키지를 구분하기 위해 완전히 분리 될 수 있다는 것입니다,하지만 관계없이 기술의 어떻게 어떻게 업그레이드,하지만 절대 변하지 않을 것입니다 것은 목표의 좋은 소프트웨어 영원한 추구하는 "코드 사이의 커플 링의 호출 더 편리하게, 더 안전한, 더 낮은 정도 '의 핵심 아이디어이다.

> 모바일 기술 진화의 크로스 플랫폼 개발 - https://mp.weixin.qq.com/s/g44ql1hOMdsfgKMXGjUo6w
 분류가 오가지, 즉 웹 앱으로 분류되는 표준 대답 크로스 플랫폼 기술은 없다, 하이브리드 앱, 언어 컴파일러 스위치, 기본 렌더링, 자기 그린 UI.
 웹 응용 프로그램은 네트워크에서 실행되는 웹 기반 응용 프로그램과 표준 브라우저, 웹 페이지의 동등한 의미 다음 앱 쉘을 추가합니다. 2014 년 HTML5 표준 규격 확정, 웹 여론이 기본 앱 모멘텀을 대체하고 네트워크에 앱하지만, 웹 응용 프로그램은 항상있는 단점이있다 "생활을 지원하고, 주인공의 마음을."

PWA는 (프로그레시브 웹 응용 프로그램은)는 웹 응용 프로그램은 기능을 강화하기 위해 다양한 기술을 사용하여, 기술, 그러나 개념이 아니다, 점진적 개선 웹 응용 프로그램을 의미한다 :
 서비스 노동자 + HTTPS + 캐시 API 광고 +와 색인화 및 웹 일련의 오프라인로드 및 캐싱 기술은
 푸시를 달성하고 알림
 휴대 전화의 바탕 화면에 직접 추가 할 수있는
 서비스 노동자가 백그라운드 동기화 할 수 사용하여
요약하면, 주요 기능 PWA 오프라인, 푸시, 데스크톱 액세스, 그것은라고 할 수 PWA 특정 웹 응용 프로그램 기본입니다 경험

네이티브 및 웹 개발 응용 프로그램의 사용뿐만 아니라, 그것은 또한 사용할 수있는 HTML5 + 하이브리드입니다 원래의 복합 용도 개발, 태어났다.
  하이브리드 기술은 그래서 폰갭, 코르도바, 이온, VasSonic하고, 관련 많이있다.
  2011 년, 아파치는 Nitobi 소프트웨어 및 폰갭 버전 2.0 제품이 아파치 코르도바 개명되었다 제품 폰갭, 폰갭 할 오픈 소스를 인수했다. 코르도바 현재 지원되는 플랫폼은 안드로이드, 아이폰 OS, 윈도우, 맥 OS있다 X, 전자.
  이온 프레임 워크는 오픈 소스 UI 툴킷, 첫 번째 목표는 모바일 응용 프로그램을 개발하기 위해 HTML, CSS 및 자바 스크립트 및 기타 웹 기술을 사용하는 것입니다. 이 때문에 기본적인 웹 기술을, 이온 어디서나 같은 아이폰 OS, 안드로이드, 브라우저, 전자, PWA 등등과 같은 네트워크 실행에 실행할 수 있습니다.
현재, 이온 프레임 워크는 공식적으로 각도와 통합 만 뷰에 대한 지원 및 개발에 반작용하고있다.
  VasSonic는 Android 및 iOS 플랫폼에서 실행 H5 첫 번째 화면을 가속화하기 위해 텐센트 VAS 팀에 의해 개발 된 경량의 고성능 하이브리드 프레임 워크입니다. VasSonic 서버는 웹 오프라인 자원과 완벽하게 호환되는 정적 또는 동적 웹 사이트를 제시하지만, 지원뿐만 아닙니다. 뷰를 초기화 자원 요청을 기다리는 것을 방지하기 위해이 진행하거나 동시에 할 수 있도록, 사용자 정의 네트워크 연결보다는 원래 요청 인덱스 HTML을 사용 VasSonic URL에 접속.

  주요 개발 언어 마이크로 채널 애플릿은 자바 스크립트, 일반 웹 개발이 큰 유사성을 가지고에 비해 작은 프로그램의 개발이다.
렌더링 논리 계층으로 애플릿 런타임 환경은 두 개의 층이 웹보기를 렌더링하는 데 사용되는 계면 층을 렌더링 두 스레드에 의해 관리되는, JsCore 스레드는 논리 층 JS 스크립트를 사용하여 실행. 통신 모두 스레드 위챗 클라이언트 JSBridage에서 (기본)를 통해 전송을 할 것입니다. 기본 앞으로를 통해 또한 논리 계층 네트워크 요청
  마이크로 채널 애플릿 및 PWA가 웹 기술의 차이를 기반으로, 원칙 애플릿 유사한 하이브리드 아키텍처는, 웹보기 기본 웹 콘텐츠를 렌더링, 높은 기본 구성 요소로 렌더링 성능 요구 사항의 구성 요소 구현은, 등 카메라, 비디오,지도와 같은 접근 할 수없는 다른 지역의 전통 용량 웹, JS SDK에 의해 구현 될 필요가 있고 PWA 네이티브 애플리케이션 경험 근처에 달성 할 수있는 능력을 향상시키기 위해 웹 기술의 다양한 사용하는 것입니다.
  소형 및 마이크로 채널 프로그램 자체 응용 프로그램은 응용 프로그램 개체를 촉진하는 동안은 다시 더 빨리 촉진을위한 포스터처럼, 마케팅 채널의 더는 경쟁이 아니다. 작은 마이크로 채널 프로그램의 단점은, 경험이 앱과 비교할 수없는 분명하다, 기능에 의존 마이크로 채널에 따라 확장 할 수 없습니다. 작은 마이크로 채널 프로그램 서브 생태의 확립 인 될 수 있으며, 미세 문자의 생태 운영자가, 개발의 다른 상대 위협 할 것이라고 말했다.

  컴파일러는 변환 언어는 다음 플랫폼의 바이너리에 대한 언어 컴파일러에 직접 언급한다. 자 마린 프레임 워크는 그것을 달성하기 위해 안드로이드 플랫폼 모노 가상 머신에 포함되어 있지만, 비교적 잘 알려져 있지만, 언어 컴파일러 전환 유형에 기인 있도록 AOT의 아이폰 OS 플랫폼에서, 이진 파일로 컴파일됩니다.
  자 마린는 2011 년에 설립되었으며, 그것은 공식적으로 2016 년 마이크로 소프트에 인수되었다. 자 마린은 모노 프로젝트, 크로스 플랫폼 .NET 구현을 기반으로 오픈 소스 프로젝트의 지점이다.
등의 차이 폰갭 프레임 워크는 자 마린은 아이폰 OS에있을 수 있으며 해당 API를 호출하기 전에 새로운 기능 폰갭 패키지 기다려야합니다 폰갭을 사용하는 동안 안드로이드 다만, 새로운 기능, 적절한 API를 호출하는 최초의 시간을 출시했다 있다는 것입니다.
  에서 Andriod 애플리케이션은 가상 머신에서 실행 모노 작성된 C # 코드는 ART는 ACWs (포장기에서 Andriod 호출 가능)에 의해 모노 C # 코드로 수행 될 수있다. 그들은 시스템 기능 또는 Java 클래스 라이브러리의 실현을 호출하고자하는 경우, MCW에 의해 구현 될 수있는 C # 코드는 방법 (호출 가능 래퍼를 관리). MCW 당신은에서 Andriod 코드를 호출하는 관리되는 코드를 사용하는 JNI 다리입니다.

 이 문서의 기본 렌더링은 기본, Weex, 빠른 애플리케이션 반응 대표, 네이티브 자바 스크립트 렌더링 컨트롤에 의해 가운데 손가락에 의해 개발되었다.
 대표 Qt는 UI 프레임 워크와 떨림의 그림입니다. 떨림은 구글의 모바일 UI 프레임 워크, 우리는 신속하게 이전 시범 사업 구글 스카이 안드로이드 및 iOS, 높은 품질의 기본 사용자 인터페이스를 구축 할 수 있습니다.

추천

출처blog.csdn.net/ShareUs/article/details/89704571