멀티 단말기 앱 개발 기술
이 기간 동안 외출을 할 수 없어 학생과 강좌를 관리할 수 있는 앱을 만들 계획입니다. 며칠간의 기술 검토를 거쳐 학생들이 배우고 참고할 수 있도록 이 문서를 작성했습니다. 탄탄한 프로그래밍 기초 + 좋은 프로그래밍 아이디어 + 필요한 기술 숙달 + 적용 가능한 프레임워크 숙지 + 어느 정도의 그래픽 처리 능력 + 세심한 기능 설계 + 참을성 있는 테스트 습관 + 자기 훈련된 프로젝트 진행 관리 + 지속적인 고정 시간 + 감동적인 음악. 그래서 독립적인 앱을 즐겁게 만들 수 있습니다~ (_ *)기술 스택 HTML+CSS+자바스크립트 노딕스+리액트+리덕스 타로+타루이+디바즈+타입스크립트+scsjsesst+ESLINT+JSDoc+git wx+wx 클라우드 개발 도구 vscode+ 마이크로 소프트 개발자 도구 카탈로그 웹 기반 기술 html 하이퍼 텍스트 마크 업 언어 css 계단식 스타일 시트 자바 스크립트 스크립팅 언어 js 언어 및 표준 함수 프로그래밍 순수 함수 커리어 함수 불변 데이터 생성기 함수 비동기 함수 웹 기술 하이 레벨 인터페이스 설명 언어 JsXReact의 TypeScript 엄격한 JS 구문 상위 집합 SASS/ SCSS 전처리 CSS 상위 집합 애플리케이션 프레임워크 JS를 사용하는 NodeJs 크로스엔드 엔진 React 프론트엔드 프레임워크 Flutter 네이티브 모바일 앱 UI 프레임워크 Taro 멀티스레드 개발 프론트엔드 프레임워크 Taro 기반 UI 프레임워크 AntDesign React 기반 UI 구성 요소 라이브러리 Redx React 기반 상태 관리 라이브러리 DvaJS Redux 기반 데이터 흐름 프레임워크 개발 도구 esLint 플러그인 JS 코드 검사 도구 Jest 테스트 프레임워크 Git 코드 버전 관리 도구 jsDoc 주석 문서 생성 도구 플랫폼 프레임워크 wx WeChat 애플릿 wxCloud WeChat 클라우드 개발 기타 도구 아이콘 아이콘 제작 관리 플랫폼 컬러 매칭 웹 서버 기술 몽구스 분산 데이터베이스 프로젝트 개발 참조 개발자 매뉴얼 웹 기초 MDN웹 개발 기술 HTML 하이퍼텍스트 마크업 언어.MDNHTML은 웹 콘텐츠를 설명하고 정의하는 데 도움이됩니다.CSS CascadingStyleSheets MDNCSS는 캐스케이딩 스타일 시트 ( CSS)는 웹 콘텐츠의 모양과 표시를 설명합니다.자바스크립트 스크립팅 언어js 언어 및 표준MDN자바스크립트 도움말자바스크립트는 브라우저에서 실행되는 프로그래밍 언어입니다. 웹사이트나 애플리케이션에 상호 작용 및 기타 동적 기능을 추가할 수 있습니다. Node.js의 등장으로 서버에서 JavaScript를 실행할 수도 있습니다.함수형 프로그래밍 함수형 프로그래밍 소개 - Yifeng Nguyen JS 함수형 프로그래밍 가이드 - PDF 다운로드 순수 함수란 무엇인가_왜 순수 함수를 사용해야 하나요? 과정 함수 [번역]커링 인]자바스크립트 불변 데이터 참조 데이터부터 심층 복사, 불변 데이터에 이르기까지 자세히 설명합니다. 이는 호출의 발전과 최적화의 개선입니다. 제너레이터 함수 MDNfunction* 도움말 비동기 함수 MDNasyncfunction 도움말 고급 웹 기술.JSX리액트의 인터페이스 설명 언어인 React 공식 웹사이트의 JSXJSX는 자바스크립트의 문법 확장입니다. 리액트 아키텍처에서 사용할 때는 템플릿 언어와 비슷한 형식을 취하지만 실제로는 전적으로 자바스크립트 내에서 구현됩니다. 엘리먼트는 React 애플리케이션을 구성하는 가장 작은 단위입니다.JSX는 React에서 엘리먼트를 선언하는 데 사용됩니다.React는 JSX를 사용하여 사용자 인터페이스를 설명합니다.TypeScript는 엄격한 JS 구문을 가진 TypeScript 중국어 문서의 상위 집합입니다.TypeScript는 Microsoft에서 개발한 오픈 소스 크로스 플랫폼 프로그래밍 언어입니다. JavaScript의 상위 집합이며 결국 JavaScript 코드로 컴파일됩니다.TypeScript는 선택적 정적 유형 시스템과 아직 공식적으로 출시되지 않은 ECMAScript의 많은 새로운 기능을 추가합니다.SASS/Scss는 css 전처리의 상위 집합입니다.SASS 중국어 공식 웹사이트SASS는 CSS로 작성된 버비 언어입니다. 전처리 언어입니다. CSS를 향상시키는 보조 도구이며 CSS의 확장입니다. CSS 구문 위에 변수, 중첩 규칙, 믹스인, 확장 및 인라인 가져오기와 같은 고급 기능을 추가합니다.SCSS는 Sass3에서 도입한 새로운 구문으로, CSS3와 완벽하게 호환되며 Sass의 강력한 기능을 계승합니다. 즉, 모든 표준 CSS3 스타일시트는 동일한 의미를 가진 유효한 SCSS 파일입니다. scss에는 줄 바꿈과 들여쓰기가 아닌 세미콜론과 중괄호가 필요하며, 공백 기호는 구분하지 않습니다. 실제로는 접미사가 붙은 css3 구문과 동일합니다. 애플리케이션 프레임워크 nodejs는 Js 크로스엔드 엔진을 사용합니다. NodeJs 중국어 웹사이트 Node.js는 ChromeV8 엔진을 기반으로 하는 JavaScript 런타임입니다. node.js는 이벤트 중심의 비차단형 I/O 모델을 사용합니다. 서버에서 실행되는 개발 플랫폼입니다. 일부 특수한 사용 사례를 최적화하고 대체 API를 제공함으로써 비브라우저 환경에서 V8이 더 잘 실행되도록 합니다.V8 엔진은 자바스크립트를 매우 빠르게 실행하고 성능이 매우 우수합니다. 반응성이 뛰어나고 쉽게 확장 가능한 웹 애플리케이션을 쉽게 구축하는 데 사용되며, 노드는 가볍고 효율적인 이벤트 중심의 비차단 I/O 모델을 사용하여 분산 장치에서 데이터 집약적인 실시간 애플리케이션을 실행하는 데 이상적입니다.Nodejs 공식 웹사이트##노드#글로벌 설치$npminstall-gn#최신 안정 버전으로 업그레이드$nstable#업그레이드하세요. 최신 버전으로 업그레이드 $ nv7.10.0#사용 버전으로 전환 $ n 7.10.0(입력) $ NRM 7.10.0. 공식 버전 제거 $ nrm7.10.0#스크립트 실행 $ nuse7.10.0some.js##npm#업그레이드 npm $ npminstall-gnpm#보기 npm 버전 $npm-v#업그레이드 cnpm $npm-gicnpm#버전 보기 $ CNPM. 패키지 정보 . JSON 패키지 잠금 . JSON 프론트엔드 프레임워크 React 공식 웹사이트 페이스북의 내부 프로젝트에서 시작되었으며, 웹 앱의 사용자 인터페이스와 뷰 레이어를 구축하기 위한 자바스크립트 라이브러리입니다.Flutter 네이티브 모바일 앱 UI 프레임워크 Flutter 공식 웹사이트 Flutter는 iOS와 안드로이드용 구글의 모바일 UI 프레임워크로서, 다음과 같은 기능을 제공합니다. 고품질의 네이티브 사용자 인터페이스를 빠르게 구축할 수 있는 프레임워크입니다. 전 세계적으로 점점 더 많은 개발자와 조직이 Flutter를 사용하고 있으며, Flutter는 완전 무료 오픈 소스입니다.멀티 디바이스 개발을 위한 타로 프론트엔드 프레임워크타로 공식 문서타로는 React 구문 사양을 따르는 멀티 디바이스 개발 솔루션입니다. 코드 세트만 작성하면 소스 코드를 Taro의 컴파일 도구를 통해 다양한 단말에서 실행할 수 있는 코드(위챗/바이두/알리페이/바이트 점프/QQ/ JD.COM 애플릿, 빠른 애플리케이션, H5, React-Native 등)로 컴파일할 수 있습니다. 노드 환경 (> = 8.0.0) # npm을 사용하여 CLI 설치 $ NPM install-g @ tarojs/CLI # 또는 cnpm을 사용하여 CLI 설치 $ cnpminstall-g@tarojs/cli 템플릿 프로젝트 생성 $ taroinitmyApp WeChat 애플릿 컴파일 및 패키징 # NPM 스크립트 $ npmrundev:weapp $ npmrunbuild:weapp #글로벌 설치만 $ Taro 빌드 유형 WAP-watch $ Taro 빌드 유형 WAP 참고: 글로벌 버전의 Taro는 비동기 프로그래밍 버전과 일치해야 합니다 비동기 프로그래밍 환경 구성$. npmibabel-plugin-transform-runtime-d $ npmibabel-runtime Taro 프레임워크: WeChat 애플릿 생성 @ tarojs/async-await(2.0 이상에는 필요 없음): $ npmi @ tarojs/async-await-. savecomponentWillMount(){ taro . request({ URL:'ponentWillMount(){ const response = awaittaro . request({ URL:'pilerOptions ':{ " paths ":{ " @/* ":[". / Src/* "]}} 패키지 파일 오버사이즈 디버깅 솔루션 패키지 파일 오버사이즈 디버깅 솔루션 웹팩-번들-분석기 타로 UI 프레임워크 타로 공식 웹사이트 타로 설치, 프로젝트 생성 및 프로젝트 루트 디렉토리에 타로-UI 설치:AntDesignReactantd UI 컴포넌트 라이브러리 AntDesignReactantd UI 컴포넌트 라이브러리는 주로 엔터프라이즈급 미들 및 백엔드 제품을 개발하는 데 사용되는 Ant Design 디자인 시스템을 기반으로 합니다. Redox 기반 React 상태 관리 라이브러리 Redox 중국어 문서 리매치 :샘플은 Redox의 모범 사례는 없습니다.DvaJS는 산화 환원 기반 데이터 흐름 프레임 워크입니다.DvaJS 공식 웹 사이트 dva는 우선 Redox 및 redux-saga 기반 데이터 흐름 솔루션이며, 개발 경험을 단순화하기 위해 dva에는 내장 된 react- 라우터와 페치도 내장되어 있어 경량 애플리케이션 프레임워크로도 이해할 수 있습니다. dva는 모델:리듀서라는 개념을 통해 도메인 모델을 관리하며, 상태의 동기식 업데이트를 포함합니다. 비동기 로직의 영향을 처리합니다. 데이터 소스에 대한 구독. 네임스페이스: 현재 모델의 이름입니다. 전체 애플리케이션의 상태는 여러 개의 작은 모델 상태로 구성되며, namespace:모델의 현재 상태로 키가 지정됩니다. 여기에 저장된 데이터는 최신 Stateeffects:Action 프로세서를 계산하고 비동기 작업을 처리하는 데 사용되는 뷰 레이어 reducers:Action 프로세서의 출력을 직접 결정합니다 $ npminstalldva-CLI-g $ npmininstall-savedva-. coredva-loading #을 실행하여 Taro를 사용하도록 구성합니다. 또한 설치가 필요합니다 @ tarojs/redux $ npmi-save redux @ tarojs/redux @ tarojs/Redox-H5 Redox-thunk Redox-Logger Taro+dva 참조:Taro+dva+Typescript 빌드 wechat 애플릿 아키텍처 taro+. dva 애플릿 빌드 액세서리 프로세스 타로+타로ui+dva 개발 도구 ESLint 플러그인 자바스크립트 코드 검사 도구 ESLint 공식 웹사이트 ESLint는 플러그인 자바스크립트 코드 검사 도구로, 코드 검사 공식에 따른 VScode와 타입스크립트-eslint는 편리하지 않으므로, ESLint와 타입스크립트-eslint는 닫힙니다. eslint로 직접 구성 : "편집기. 형식 유형":설정 . JSON에서 참, // 편집 시 "editor. formatonsave":참, // 저장 시 "JavaScript. validate.enable. ":저장 시 참, // 편집기 코드 js 검사 "typescript . validate . enable":true, // 편집기 코드 ts 체크 "typescript . tsdk": "node _ modules/typescript/lib", // SDK를 수동으로 구성 "eslint . enable":true// eslint 코드 검사를 켜려면 create 명령을 실행해야 합니다. eslintrc.js 파일을 생성한 후 $ eslint-init, 다음 파일 규칙을 작성합니다. exports = {"env": {"browser": true, " es6": true}. extends":["eslint:recommended", " plugin:react/recommended "," plugin:@ typescript-eslint/eslint-recommended "," Taro ","],"globals ":{ " readonly ", // 애플릿 전역 변수 선언" atomics": " readonly "," sharedyabuffer ":" readonly " }," parser ":" @ typescript-eslint/parser "," parser options": { "ECMA version":2018," sourceType":" module"," ECM 기능 ":{ " modulesReferenceHelp:vs 코드 검사 공식 ESLint 및 typescript-eslint를 사용한 Jest 테스트 프레임워크, 2019 자바 스크립트 자동화 테스트 프레임 워크, Git 공식 웹 사이트 Git, 매우 작은 것부터 매우 큰 것까지 프로젝트 버전 관리를 효과적이고 빠르게 처리 할 수있는 오픈 소스 분산 버전 제어 시스템 .Github 공식 웹 사이트 Git 신인 자습서 주석 관리에서 주석이 달린 문서 생성 도구 jsDoc 중국어 문서 플랫폼 프레임 워크 wx wechat 애플릿 공식 문서 wechat 개발자 도구 wxCloud 위챗 클라우드 개발 클라우드 개발 문서를 다운로드하세요. 기존 프로젝트를 사용하여 가져온 후 클라우드 함수 디렉토리를 만들어야 합니다. 그리고 project.config.json:{..."에 클라우드 함수 디렉토리를 지정합니다. 클라우드 함수 루트 ":" cloud functions/", ...} 그런 다음 WeChat 개발자 도구에서 클라우드 함수 디렉토리를 마우스 오른쪽 버튼으로 클릭하여 클라우드 함수를 동기화하거나 생성합니다. 클라우드 데이터베이스 자동 백업클라우드 데이터베이스 자동 백업 샘플 코드 참고: 위 샘플 코드는 WeChat 커뮤니티에서 제공한 것으로 버그가 있어 수정이 필요하며, 솔루션은 실행 가능합니다. 기타 도구 아이콘 아이콘 제작 관리 플랫폼 아이콘 폰트 아이콘 컬러 매칭 도구 고급 이론 프로젝트 개발 참조 개발자 매뉴얼 개발자 매뉴얼 - 클라우드 + 커뮤니티 - 텐센트 클라우드 업데이트 예정 ~