모바일 애플리케이션의 서버 부분 개발. 모바일 애플리케이션 개발: 서버와 동기화 장치의 데이터 업데이트 원칙

당사는 고부하 환경에서 동작하는 모바일 비즈니스 애플리케이션 및 클라이언트 웹 서비스의 서버 부분을 생성하는 서비스를 제공합니다. 각 프로젝트를 개발할 때 결과물이 고객의 특정 목표에 가장 적합한 솔루션이 되도록 개별 접근 방식을 적용하려고 합니다.

서버에서 데이터를 저장 및/또는 처리하는 복잡한 응용 프로그램을 사용하는 경우 그 뒤에는 웹 서버에서 호스팅되고 응용 프로그램과 함께 작동하는 소프트웨어 패키지인 백엔드가 있습니다. 끝. 서버에서 호스팅되는 응용 프로그램은 많은 수의 클라이언트와 동시에 작동할 수 있으므로 작업의 고속 및 보안에 대한 요구 사항이 부과됩니다.

종종 애플리케이션의 서버 부분은 그러한 솔루션에 가장 널리 사용되는 언어인 PHP로 작성됩니다. 간단한 서버 작업을 구현하기 위해서는 표준 시스템을 사용할 수 있지만 보다 구체적인 작업을 위해서는 이미 표준 시스템에 대한 자체 솔루션 또는 추가 기능을 개발해야 합니다.

모바일 애플리케이션용 서버 개발 원칙

우리 프로그래머는 매우 높은 작업 부하 및 다양한 영역에 대해 광범위한 솔루션을 구현할 수 있는 기술을 사용합니다. 또한 개별 작업을 위한 별도의 서버 솔루션을 만듭니다.

조직 통제

각 프로젝트는 프로젝트의 모든 개발 단계와 적시 납품을 담당하는 별도의 전문가 그룹에 의해 생성됩니다.

프로그램 작성

서버 아키텍처 설계는 데이터베이스가 생성되고 필요한 알고리즘이 형성되는 가장 중요한 단계입니다.

테스트

소프트웨어 부분은 오류나 장애 없이 작동해야 합니다. 이는 시스템 검증을 수행하는 테스터의 책임입니다.

기술적 지원

우리 직원들은 프로그램의 완전한 기술 지원을 수행하여 결함을 신속하게 제거하고 업데이트할 수 있습니다.

개발 기능

응용 프로그램의 서버 부분을 유능하게 개발하려면 서버에서 사용되는 프로그래밍 언어에 대한 특정 기술과 지식이 필요합니다. 실습에서 알 수 있듯이 클라이언트-서버 응용 프로그램은 PHP로 생성됩니다. 그는 이 분야에서 의심의 여지가 없는 리더입니다. 전 세계 사이트의 절반 이상이 PHP로 작성되어 개발 및 지원이 편리합니다.

뼈대

이 소프트웨어 플랫폼을 사용하면 프로젝트를 보다 확장 가능하고 유연하게 만들 수 있습니다. 그럼에도 불구하고 프레임워크는 가능한 한 정확하게 선택되어야 하므로 프로젝트의 작업 문서에 대한 심층 분석이 필요하며 이는 나중에 고품질 제품을 개발하는 데 도움이 될 것입니다.

백엔드 개발에 사용되는 다른 언어가 있습니다. 예를 들어 Delphi 환경에서 만든 서버 응용 프로그램이 널리 사용됩니다. 이로 인해 프로그램의 디버깅이 향상되었습니다. 또한 고유 프로그램을 개발하기 쉽고 시각적 생성을 제공합니다. 이 모든 것을 통해 명확하고 편리한 인터페이스를 만들 수 있습니다.

Java 서버 응용 프로그램은 그다지 인기가 없습니다. 쉽게 보완되고 다른 플랫폼에서 쉽게 실행되며 높은 수준의 보안을 제공합니다.

일반적으로 사용되는 또 다른 언어. 이를 통해 추가 비용 없이 쉽고 빠르게 서버 애플리케이션을 생성할 수 있습니다.

거의 모든 현대 기업에는 자체 가상 사무실이 있습니다. 웹사이트는 체크아웃 옵션이 있는 명함이나 포털 또는 온라인 카탈로그가 될 수 있습니다.

이 경우 비즈니스 프로세스는 웹 서버, 즉 공격, 해킹 시도 및 외부 부정적인 영향을 견딜 수 있는 능력과 동시에 많은 요청을 동시에 수신할 수 있는 충분한 성능에 의존합니다.

웹 서비스 개발 단계

다양한 시장 부문에 대한 애플리케이션을 생성하면서 단일 원칙에 따라 작업을 구성합니다. 전체 프로세스를 별도의 단계로 나누고 진행 상황과 결과를 고객에게 보고합니다. 따라서 모바일 애플리케이션용 서버도 같은 방식으로 개발된다.

1. 아이디어 개발

최대 2주

이 단계에서 기초가 만들어지고 무엇이 놓여지고 어떤 방향으로 발전할 것인지에 대한 아이디어를 제공합니다.

2. 프로젝트 평가

2-3주

전문가가 작업 시간과 비용을 평가한 다음 개발을 위한 예비 제안을 작성합니다.

3. 위임 및 계약 조건

최대 2주

프로세스의 모든 뉘앙스를 고객과 논의하고 상세한 TOR를 작성한 후 계약을 준비하고 서명합니다.

4. 인터페이스 개발

2-3주

디자이너는 프로그램 모듈을 작성할 때 필요한 인터페이스를 생성할 책임이 있습니다.

6. 테스트

2-3주

결과 소프트웨어 솔루션의 포괄적인 검증은 적절한 도구 세트를 사용하여 테스터가 수행합니다.

7. 프로젝트 완료

최대 2주

합의된 시간 내에 철저하게 테스트된 기성 웹 서비스가 고객에게 전달됩니다.

우리 팀

상업 활동과 고객의 요구 분석을 통해 다양한 비즈니스 문제를 해결하는 데 도움이 되는 실제 제품을 만듭니다. 최신 기술의 사용은 해당 모바일 애플리케이션의 고성능을 보장하는 서버 소프트웨어 구현을 위한 광범위한 가능성을 제공합니다. 우리 팀은 다음과 같이 대표됩니다.

프로젝트 관리자

이 직원들은 클라이언트 및 개발자와 상호 작용하여 그들 사이의 커뮤니케이션을 제공합니다. 그들은 이미 계획된 조치와 필요한 개선 사항의 구현을 모니터링합니다.

디자이너

그들의 작업에서 우리 전문가들은 iOS 및 Android 운영 체제용 인터페이스를 구축하기 위한 요구 사항을 고려하여 릴리스된 응용 프로그램이 다른 장치에서 올바르게 작동하도록 합니다.

개발자

모바일 애플리케이션의 성능을 최적화하기 위해 프로그래머는 시스템 요구 사항을 분석하고 특수 서버 소프트웨어를 만듭니다.

테스터

철저한 테스트는 완제품의 품질을 보장하고 저장 및 처리된 데이터의 보안을 보장합니다. 이 전문가들은 다양한 도구와 효과적인 방법론을 사용합니다.

우리가 만드는 서비스

사이트에 내장된 소프트웨어 또는 독립 프로그램인 웹 서비스는 광고, 분석, 사업 계획 및 판촉과 관련된 작업을 수행하는 데 사용됩니다. 이와 관련하여 어떤 유형의 리소스가 최상의 솔루션이 될 것인지 결정해야 합니다.

정보 프로젝트

다양한 콘텐츠를 수용할 수 있도록 설계되었습니다.

주제별 사이트

거의 모든 페이지는 하나의 주제에 전념합니다. 그들에 대한 수요는 여전히 상당히 높습니다.

뉴스 사이트

그들은 삶의 주요 영역을 반영하여 하나 이상의 주제의 틀 내에서 다양한 뉴스에 대해 알려줍니다.

블로그

이러한 리소스의 인기 수준은 지속적으로 증가하고 있습니다. 뉴스 사이트와 마찬가지로 인터넷 커뮤니티에 특정 정보를 전달하지만 이 경우 작성자는 개인적인 의견을 표명합니다.

사회 프로젝트

여기에는 전문 사회 네트워크, 커뮤니티, 포럼 등

포럼

다양한 소식, 제품/서비스 등을 논의하기 위해 작성되었습니다. 그것들은 좁게 초점을 맞출 수도 있고 다양할 수도 있습니다.

소셜 미디어

이러한 리소스에는 수백만 명의 청중이 있습니다. 그들의 주요 임무는 인터넷 사용자에게 문자/음성 메시지 및 화상 통화를 통해 온라인으로 통신할 수 있는 기능을 제공하는 것입니다.

다양한 웹 서비스

오늘날 널리 퍼져 있으며 여러 유형으로 나뉩니다.

카탈로그

우편 서비스

편지 및 문서 보기, 보내기, 편집 등 전자 메일의 모든 기능과 이점을 사용자에게 제공합니다.

검색 엔진

특정 요청에 대한 사이트 및 다양한 정보를 검색하는 데 사용됩니다.

게시판

이들은 네트워크 사용자가 다양한 주제 내에서 서비스 판매 및 구매에 대한 광고를 게재하는 웹 리소스입니다.

호스팅 사이트

파일을 임시로 저장하도록 설계되었습니다. 그들 중 일부는 다운로드하기 전에 데이터에 익숙해질 수 있는 기회를 제공합니다.

자주하는 질문

아래에서 전문가에게 자주 묻는 질문에 대한 답변을 제공합니다. 여기에서 원하는 정보를 찾지 못한 경우 여기에 질문을 게시하십시오. 형태그리고 우리는 확실히 대답할 것입니다.

애플리케이션과 웹 서버를 만드는 데 얼마나 걸립니까?

평균적으로 이 작업은 9주에서 20주 동안 지속됩니다. 그것은 모두 구현되는 작업의 복잡성에 따라 다릅니다.

과거에는 오프라인이었지만 오늘날 온라인 상태는 필수입니다. 적어도 현대 비즈니스 세계에서는. 브랜드의 제품 및 서비스 프레젠테이션, 온라인 주문 및 배송, 고객 기반 유지 관리, 고객과의 커뮤니케이션 등이 모두 인터넷 없이는 불가능합니다. 애플리케이션이 필요한 경우 프런트엔드(웹 인터페이스)와 백엔드(애플리케이션의 서버측)가 모두 있어야 합니다. 그리고 개발자의 참여 없이 애플리케이션의 콘텐츠를 편집할 수 있으려면 좋은 관리자 패널이 필요합니다.

모바일 애플리케이션의 프런트엔드는 X-Code, Java 등의 기술을 사용하여 구축되지만, 데이터베이스와 모든 애플리케이션 로직이 저장되는 백엔드는 서버 측 프로그래밍 언어에 대한 전문 지식이 필요합니다. 좋은 예는 거의 모든 백엔드를 개발하는 데 사용되는 가장 인기 있는 프로그래밍 언어인 PHP입니다. 이것은 확실한 리더입니다.

정적 및 동적 웹사이트 + 사용자 지정 콘텐츠 관리 시스템, 소셜 네트워크, 특수 CRM 시스템, 전자 상거래 소프트웨어 등 PHP용 애플리케이션이 많이 있습니다. 물론 무료이거나 저렴한 서버 부품과 제어판이 있습니다. 그러나 많은 경우 필요한 수준의 편의성, 사용자 정의 및 업그레이드 기능을 제공하지 않습니다.

우리 프로그래머는 다양한 비즈니스 목표, 요구 사항 및 요구 사항에 대한 광범위한 솔루션을 구현할 수 있는 기술을 사용합니다. 각 프로젝트의 시스템 요구 사항을 개별적으로 분석하고 모바일 애플리케이션의 최적 성능을 위해 다양한 전문 서버 소프트웨어를 적용합니다.

완벽한 사용자 경험을 위해 처음부터 애플리케이션을 구축하거나 기존 애플리케이션을 복원하기 위한 가장 지능적이고 비용 효율적인 솔루션으로 안내할 수 있는 팀을 찾고 있다면 더 이상 찾을 필요가 없습니다. Appsmob은 귀하에게 가장 적합한 솔루션을 찾는 데 도움을 드릴 준비가 되어 있습니다.

488 제4부. 예제의 Ajax

봇을 실행하고 서버를 호출하여 제출된 쿼리 문자열 값을 기반으로 응답 데이터를 동적으로 생성합니다. LoaciXMLXSLTDoc() 함수의 첫 번째 매개변수는 HTML Form O 필드 값을 참조하여 형성된 쿼리 문자열과 연결된 XML 문서를 생성하는 PHP 페이지의 URL입니다.두 번째 매개변수는 사용된 © XSLT 파일의 이름입니다. XML 데이터 변환에서. LoadXMLXSLTDoc() 함수에 필요한 세 번째 매개변수는 검색 결과를 배치할 div 요소의 ID입니다. 식별자는 개체 참조가 아니라 출력 요소의 문자열 이름입니다. 이 경우 문자열 "results"가 식별자로 사용됩니다.

다음 단계에서는 DOM 메서드를 사용하여 웹 페이지에 표시기 이미지를 추가합니다. 이미지 요소가 © 생성되고 이미지 소스 속성이 O로 설정됩니다. 이 생성된 요소는 결과 div 요소 ©에 추가됩니다. 따라서 양식의 onsubmit 이벤트 핸들러에서 함수를 호출하면 이미지 파일이 페이지에 배치됩니다. 일반적으로 사용자가 처리가 진행 중임을 나타내는 시각적 피드백(메시지 또는 이미지)을 생성하는 것이 중요합니다. 이것은 사용자가 아무 일도 일어나지 않는다고 생각하면서 핸디캡 제출 버튼을 반복적으로 클릭하는 것을 방지합니다(Ajax 프로세스는 "보이지 않음"을 기억하십시오).

마지막 단계는 정보를 서버로 보내는 프로세스를 시작하는 LoadXMLXSLTDoc() ® 함수를 호출하는 것입니다. 12.4절에서 설명한 LoadXMLXSLTDoc() 함수는 서버에서 문서를 요청하는 ContentLoader() 객체에 대한 호출을 처리합니다. 종료 위치를 매개 변수로 설정하면(LoadXMLXSLTDoc() 함수의 값을 하드 코딩하는 대신) 여러 절차나 if 문을 사용하여 기능을 분리할 필요 없이 동일한 페이지에서 이 함수를 재사용할 수 있습니다. 따라서 서로 다른 검색어의 결과를 페이지의 서로 다른 부분으로 리디렉션하고 있습니다. 그러나 모든 작업을 수행하기 전에 서버에서 XML 및 XSLT 문서를 만드는 방법을 살펴보겠습니다.

12.3. 애플리케이션 백엔드 코드: PHP

안에 이 섹션에서는 동적널리 사용되는 오픈 소스 스크립팅 언어인 PHP를 사용하는 XML 문서(아시다시피 Ajax 프레임워크는 모든 서버 측 언어 또는 플랫폼과 호환됨). XML 문서는 데이터베이스에 대한 클라이언트 쿼리에 대한 응답으로 받은 결과 집합에서 동적으로 생성됩니다. 또한 서버에 상주하고 동적 파일이 요청될 때마다 검색되는 정적 XSLT 문서를 만드는 방법을 보여줍니다. 이 두 문서는 ContentLoader 객체가 두 개의 개별 요청에서 요청될 때 클라이언트에 독립적으로 반환됩니다(목록 12-7). XSLT는 클라이언트 측에서 동적 XML 문서를 변환하고 사용자에게 표시되는 HTML 테이블을 생성합니다.

12장 XSLT를 사용한 실시간 검색 489

12.3.1. XML 문서 만들기

우리는 XSLT를 사용하고 있기 때문에 XSL 파일이 표준 변환을 수행할 수 있도록 간단한 정보 레코드인 구조화된 XML 문서가 필요합니다. 이 프로젝트에서는 클라이언트가 PHP 파일을 요청할 때 동적 XML 파일을 생성합니다.

XML 구조 개발

XML 파일을 만들기 전에 템플릿을 만들어야 합니다. 이 패턴은 검색에서 반환된 데이터의 구조를 반영해야 합니다. 선택한 작업 공식(전화번호부)에서 회사 이름, 연락처 이름, 국가 및 전화 번호를 반환합니다. 목록 12-3은 네 개의 필드를 포함하는 기본 XML 템플릿을 보여줍니다.

목록 12.3. 기본 XML 파일

회사 이름 담당자 이름 나라 이름 전화 번호

첫 번째 요소는 전화번호부입니다. 다음 항목은 요청에서 찾은 모든 연락처와 관련된 모든 세부 정보가 포함된 하위 요소를 포함하는 항목 요소입니다. 5개의 결과가 있으면 XML 문서에 5개의 항목 요소가 있습니다. 회사 이름은 회사 요소에 표시됩니다. 또한 담당자 이름, 국가명, 전화번호를 추가하였습니다. 지정된 필드에 국한되지 않습니다. 표시하려는 정보에 따라 필드를 추가하거나 제거할 수 있습니다.

결과가 없으면 경고 메시지를 표시하는 대신 이 정보를 사용자에게 표시하는 요소를 만들 수 있습니다. STO는 결과를 사용자에게 더 쉽게 반환할 수 있도록 하며 응용 프로그램의 클라이언트 측에 추가 코드가 필요하지 않습니다. Listing 12-4의 코드는 Listing 12-3과 거의 동일하지만, 이번에는 XML 요소에 텍스트를 입력하여 사용자에게 결과가 없음을 나타내기 위해 보여주고자 합니다.

목록 12.4. 결과가 없는 XML 파일

결과 없음

// O 회사명 대신 "No result" 표시 해당 없음

490 제4부. 아약신 예제

// © 나머지 필드는 "N/A"로 대체됩니다.

해당 없음

해당 없음

이 코드를 사용하여 사용자에게 요청한 정보가 누락되었음을 알리는 한 줄을 표시합니다. 회사 O 설명자는 결과가 없음을 나타내는 정보를 표시합니다. 다른 설명자 0은 사용자에게 정보가 없음을 알려줍니다. "N/A"("사용할 수 없음") 텍스트를 표시하지 않으려면 대신 줄 바꿈하지 않는 공백을 추가하여 표 셀을 표시할 수 있습니다. 정보를 전혀 추가하지 않았다면 테이블의 셀이 나타나지 않았을 것입니다.

보시다시피 XML 형식은 매우 간단한 구조를 가지고 있습니다. 이 XML 파일이 정적인 경우 사용자가 파일에 새 구독자를 추가하는 것이 비교적 쉬울 것입니다. 동적으로 생성되기 때문에 결과 집합에서 XML 문서를 생성하는 루프가 필요합니다.

동적 XML 문서 만들기

항상 그렇듯이 서버에 XML 문서를 만듭니다. 예제에서 다른 서버 언어를 사용하는 정책에 따라 이 장의 서버 코드는 PHP로 작성됩니다. Ajax 프레임워크는 모든 서버측 언어를 사용하여 생성할 수 있다는 점을 다시 한 번 기억하고 자세한 설명 없이 서버측 코드를 구현하는 원칙만 설명하겠습니다. 따라서 Listing 12-5는 애플리케이션의 서버측 코드를 보여줍니다. 이 코드는 쿼리 문자열 매개 변수를 사용하고 많은 데이터베이스 쿼리 결과를 생성합니다. 그런 다음 목록 12.4에 표시된 대로 쿼리에 대한 응답으로 반환된 각 전화 번호에 대해 XML 파일에 요소를 생성하면서 결과 집합을 반복합니다.

목록 12.5. phoneXML.php 스크립트: 서버에서 XML 문서 생성

// 선언 MIME 유형 정보 header("콘텐츠 유형: text/xml"); 에코("\N");

// © 데이터베이스에 연결

$db = mysql_connect("로컬호스트", "아약스", "액션"); rnysql_select_db("아약스",$db);

$result = mysql_query("SELECT *

FROM 연락처 WHERE 연락처 이름은 "%"와 같습니다. // © 요청을 작성하십시오

$_GET["q"] ."%"",$db); ?>

// O 결과 확인

if ($myrow = mysgl_fetch_array($result)) ( 수행 (

// © 결과 집합을 반복합니다.

12장 XSLT를 사용한 실시간 검색 491

001">

)while ($myrow - mysql_fetch_array($result)); )또 다른(

12.3.2. XSLT 문서 만들기

XSLT를 사용하면 몇 줄의 코드로 XML 파일을 아름다운 HTML 테이블로 변환할 수 있습니다. XSLT 문서는 원하는 형식으로 데이터를 표시해야 하는 경우 템플릿 일치를 허용합니다. 템플릿 일치는 템플릿 구조를 사용하여 데이터를 표시합니다. 동시에 우리는 트리의 노드를 통과합니다.

492 제4부. 예제의 Ajax

XSLT를 사용하는 소스. XSLT 문서는 구조화된 XML 파일을 가져와 보기, 업데이트 및 수정하기 쉬운 형식으로 변환합니다. 우리의 경우 XSLT 문서는 정적으로 정의됩니다.

XSLT 구조

XSLT 변환에는 소스 트리를 대상 트리로 변환하기 위한 규칙이 포함되어 있습니다. 전체 XSLT 프로세스는 템플릿 구조와 일치시키는 것입니다. 소스 트리의 요소가 주어진 구조와 일치하면 문서 템플릿에 따라 대상 트리가 생성됩니다.

대상 트리의 구조는 소스 트리의 구조와 관련될 필요가 없습니다. 따라서 원본 XML 파일을 필요한 형식으로 변환할 수 있습니다. 데이터 세트의 표 형식 보기만 사용할 필요는 없습니다.

XSLT 변환은 결과 트리의 스타일을 정의하기 때문에 스타일 시트라고 합니다. 스타일 시트에는 두 부분으로 구성된 템플릿 규칙이 포함되어 있습니다. 첫 번째 부분은 소스 트리의 노드가 비교되는 템플릿 구조입니다. 일치하는 항목을 찾으면 XSLT 프로세서는 소스 트리를 빌드하기 위한 설명자가 포함된 템플릿인 두 번째 부분을 사용합니다.

XSLT 문서 만들기

주어진 프로젝트에 대한 XSLT 변환을 생성하는 것은 상대적으로 간단합니다. 우리는 테이블을 얻을 것이므로 화려한 패턴 매칭이 필요하지 않습니다. 소스 트리의 모든 요소 노드를 순차적으로 통과합니다. 아래에서는 4개의 열이 있는 HTML 테이블을 생성하는 템플릿을 개발합니다. 이 프로젝트에 해당하는 XSLT 파일은 목록 12-6에 표시되어 있습니다.

i 목록 12.6. XSLT 파일

"ISO-8859-l"?>

// О XML 버전 및 인코딩 설정

// © XSLT 네임스페이스 설정"http://www.w3.org/1999/XSL/Transform">

// © 템플릿 규칙 설정

// 테이블 요소 추가 정보

// © 제목 표시줄 만들기

12장 XSLT를 사용한 실시간 검색 493

// 0 전화번호부의 요소를 순차적으로 통과

select="phonebook/entry"> // © 출력 포맷

회사 연락하다 국가 핸드폰

XSLT 변환을 생성할 때 XML O 인코딩 및 버전을 지정하고 XSLT © 네임스페이스를 지정해야 합니다. 네임스페이스는 문서가 준수해야 하는 규칙과 사양을 정의합니다. XML 네임스페이스의 요소는 소스 문서에서는 인식되지만 결과 문서에서는 인식되지 않습니다. xsl 접두사는 XSLT 네임스페이스의 모든 요소를 ​​정의하는 데 사용됩니다. 다음으로 템플릿 규칙을 설정할 수 있습니다. 전체 문서와 일치하는 구조 / ©를 찾습니다.

이제 결과를 표시하는 테이블 템플릿 만들기를 시작할 수 있습니다. 식별자를 테이블에 매핑하는 테이블 설명자 O를 추가합니다. 그 다음에는 테이블에 포함된 정보를 사용자에게 나타내는 열의 이름을 포함하는 테이블 헤더 행 ©가 옵니다.

소스 트리의 노드 집합을 순차적으로 통과하여 테이블의 나머지 행을 얻습니다. 이 경우, 항목을 처리하는 과정에서 전화번호부/항목에 있는 노드를 발행하는 for-each © 루프가 사용됩니다.

문서 트리를 순차적으로 순회하므로 열 값을 선택해야 합니다. 노드에서 값을 선택하기 위해 to 연산자를 사용하여 XML 요소의 값을 추출하고 변환의 출력 스트림에 추가합니다. 텍스트를 추출하려는 XML 요소를 지정하려면 요소 이름과 함께 select 속성을 사용하십시오. XSLT 파일을 생성하고 코드를 생성하여 XML 문서를 동적으로 생성하면 JavaScript 코드를 완성하고 XSLT 변환을 구조화된 XML 파일과 결합하여 탐색하기 쉬운 테이블을 생성하는 방법을 확인할 수 있습니다.

다음 단계에서는 클라이언트 측으로 다시 돌아가 HTTP 응답으로 방금 생성한 파일을 검색합니다.

모바일 클라이언트의 뒷면은 서버입니다.

추가 요구 사항은 응용 프로그램의 세부 사항에 따라 다릅니다.
서버 확장성 - 대규모 방문자 흐름이 이상적으로 예상되는 SaaS, 소셜 애플리케이션의 경우 이 조건은 필수입니다. 사용자 수에 제한이 있거나 사용자 수가 예측되는 비즈니스 애플리케이션의 경우 이 특성이 필요하지 않습니다.
상호 작용: 특정 이벤트의 발생에 대해 응용 프로그램(사용자)에게 알리고 사용자에게 메시지를 보내려면 알림 메커니즘을 제공해야 하는 여러 응용 프로그램이 필요합니다. 예를 들어 교환 시스템이나 자동 택시 배차에는 이 속성이 있어야 합니다.
개방형 API: 타사 개발자가 문서화된 프로토콜을 통해 시스템의 기능을 사용할 수 있다고 가정합니다. 결국 클라이언트는 모바일 및 외부 서버 애플리케이션이 될 수 있습니다.
다른 요구 사항...

시스템 개발을 위한 프로젝트 팀의 구성은 다음과 같습니다.
프로젝트 관리자: 프로젝트를 관리, 제어하고 고객과 직접 상호 작용합니다.
서버 애플리케이션 개발자: 비즈니스 로직 서버, 데이터베이스, 네트워크 프로토콜을 개발합니다.
관리자 응용 프로그램 개발자: 서버 응용 프로그램을 구성하고 관리하기 위한 사용자 인터페이스인 웹 응용 프로그램을 개발합니다.
안드로이드 클라이언트 애플리케이션 개발자;
iOS 클라이언트 애플리케이션 개발자;
클라이언트 애플리케이션 개발자...
테스터: 관리 애플리케이션 및 클라이언트 애플리케이션을 테스트합니다.

세심한 독자라면 예를 들어 HTML5와 같은 그래픽 인터페이스로 서버 애플리케이션을 작성하면 비용을 절약할 수 있다는 사실을 알게 될 것입니다. 이 경우 클라이언트 애플리케이션 개발이 필요하지 않습니다. 사용자 인터페이스는 브라우저에서 제공됩니다. 이 기사에서는 이러한 경우를 고려하지 않고 모바일 장치용 "네이티브"(네이티브) 애플리케이션 개발에 대해 이야기하고 있습니다.

나는 완전한 보완 팀에서 일할 기회가 있었지만 현실적입니다. 항상 인적 자원과 예산이 그런 팀을 구성하는 것을 허용하지는 않습니다. 때로는 역할이 결합되어야 합니다: 프로젝트 관리자 + 서버 애플리케이션 개발자, 클라이언트 애플리케이션 개발자 + 테스터.

기술, 도구, 라이브러리
모바일 클라이언트 서버를 개발하기 위해 저는 보통 다음과 같은 "무료" 기술 스택을 사용합니다.
Apache Tomcat은 서블릿 컨테이너입니다.
MySQL - DBMS;
Subversion은 버전 제어 시스템입니다.
Maven - 프로젝트 조립 자동화를 위한 프레임워크
JUnit - 제공합니다 ;
Apache Log4j - 로깅 라이브러리;
Jenkins는 지속적인 통합 시스템입니다.
최대 절전 모드 - ORM(설정, 속성의 구성, xml 파일 및 주석);
hibernate-generic-dao - Google의 DAO 구현, 데이터베이스 데이터 작업을 위한 기본 메서드 구현, 메서드에서 필터링 및 정렬 구현 단순화
- 인증 및 권한 부여(보안) 구현, 서비스 및 Bean의 컨테이너(xml 파일 및 주석 구성), 테스트를 생성할 때도 사용합니다.

시스템의 특성과 요구 사항에 따라 데이터 교환 프로토콜을 구현하기 위해 두 가지 옵션 중 하나를 사용합니다.
교차 플랫폼, 속도, 단순성, 효율성, 확장성, 개방형 API가 필요한 경우 REST 웹 서비스(RESTful 웹 서비스)의 구현인 Jersey를 사용합니다. 이 라이브러리를 사용하면 JSON 또는/및 XML 형식의 데이터 직렬화를 사용할 수 있습니다. REST 구성은 주석을 통해 유지됩니다. 모바일 장치와의 교환을 위해 JSON 형식은 클라이언트 측에서 구현이 더 단순하고(이러한 이유로 "클래식" 웹 서비스를 사용하지 않음) 더 적은 양의 트래픽이 생성되기 때문에 사용되었습니다. Jersey를 사용하면 JSON의 가장 적절한 "종류"를 조정할 수 있습니다.
그렇지 않으면 크로스 플랫폼, 고성능, 단순성, 효율성, 상호 작용이 필요한 경우
Apache MINA는 네트워크 애플리케이션을 만들기 위한 프레임워크로,
Google protobuf는 구조화된 데이터 인코딩 및 디코딩 라이브러리입니다. 데이터 구조는 *.proto 헤더 파일에 의해 정의되며 컴파일러는 이 파일에서 Java 클래스를 생성합니다(C++, Objective-C 등 다른 프로그래밍 언어에 대해서도 생성할 수 있으며 플랫폼 간 속성을 제공함). ;
java.util.concurrent - 표준 패키지를 사용합니다.
이 옵션은 확장할 수 있지만 비즈니스 논리를 고려하여 아키텍처 수준의 설계 단계에서 계획해야 합니다.

실제 SaaS 서비스를 위한 기술을 선택하는 예를 사용하여 가상 작업을 고려하십시오. 사람들이 필요한 서비스 또는 작업의 성능을 주문하고 조직이 제안을 남길 수 있는 "Auknem Services Auction" . 우리는 기본적으로 모든 기본 요구 사항을 받아들입니다. 이 시스템의 등록은 무료이며 무료라는 점을 감안할 때 여기에 확장성을 추가하는 것이 반드시 필요합니다. 상호 작용은 어떻습니까? 신규 주문 생성에 대해 계약자(집행자)에게 알리고 이메일뿐만 아니라 응용 프로그램에서 동시에 받은 제안에 대해 고객에게 알리는 것이 좋을 것입니다. 이를 바탕으로 Google protobuf인 Apache MINA를 취하여 구현을 하게 됩니다. 다음 속성인 개방형 API를 살펴봅니다. 이 서비스는 공용이므로 외부 개발자가 이 서비스와 통합하는 데 관심이 있다고 가정해 보겠습니다. 기다리다! 그렇게 간단하지 않습니다. Apache MINA 기반 프로토콜은 구현에 따라 상당히 다르며 뉘앙스를 모르는 통합은 결코 투명하지 않습니다. 그런 상황에서 어떤 요소가 더 중요한지 따져보고 선택해야 할 것이다.

결론
모바일 장치 또는 유사한 시스템용 서버를 개발할 때 어떤 기술, 라이브러리를 사용했는지 알고 싶습니다. 모든 것이 변하고 영원한 것은 없습니다. 모든 수준에는 장단점이 있는 대안이 있습니다. MySQL -

애플리케이션의 서버측 개발

소개

인터넷 존재는 현대 기업의 필수 요소가 되었습니다. 이것이 없으면 고객과 본격적인 상호 작용을 구축하는 것이 불가능합니다. 종종 이러한 문제를 해결하기 위해 클라이언트-서버 응용 프로그램을 만드는 데 의존합니다. 각각은 클라이언트 부분과 백엔드로 구성됩니다. 마지막 용어는 응용 프로그램의 서버 측을 나타냅니다. 나중에 모바일 프로그램의 콘텐츠를 독립적으로 변경해야 하는 경우 특히 고품질로 백엔드를 만들어야 합니다. Appomart는 요구 사항에 따라 할당된 작업의 이행을 보장합니다. 따라서 서버 응용 프로그램 생성을 주문할 때 적절한 결과를 확신할 수 있습니다.

백엔드는 무엇입니까?

클라이언트-서버 응용 프로그램 개발에는 두 부분의 생성이 포함됩니다. 첫 번째인 프런트 엔드는 사용자의 요청을 수락합니다. 고객의 모바일 장치 화면에서 볼 수 있습니다. 두 번째 서버 애플리케이션은 수신된 요청을 처리하고 관리 패널 역할을 합니다. 데이터베이스와 프로그램 논리가 여기에 저장됩니다. 이것이 없으면 클라이언트-서버 응용 프로그램이 작동하지 않습니다. 사실 백엔드는 프로그램의 핵심입니다. 이것은 고객 요청 처리, 애플리케이션 속도를 담당하는 인텔리전스입니다. 따라서 부하가 높은 서비스도 원활하고 빠르게 작동할 수 있도록 서버 응용 프로그램의 아키텍처를 가장 작은 세부 사항까지 고려하는 것이 중요합니다.

프로그래밍 언어를 선택하는 방법?

참조 조건(프로젝트에 대한 작업 문서의 일부)을 준비하는 동안 건축가는 데이터베이스 및 링크 시스템을 설계하고 객체 및 해당 속성을 설명하며 필요한 서버 방법을 개발합니다(모바일 애플리케이션이 " 서버에 접속할 때 "를 사용하십시오).

문서화 및 포기된 프로젝트의 중요성

Appomart는 어떤 이유로든 다른 계약자에 의해 "포기"된 고객으로부터 자주 연락을 받습니다. 그리고 우리는 다른 사람의, 때로는 잘못 작동하는 프로젝트를 가져와 감사 및 후속 수정 및 지원을 수행합니다. 고객으로부터 받은 소스 코드와 자료를 연구하는 과정에서 많은 개발자가 전송 인건비의 통약 불가능성으로 인해 클라이언트를 자신에게 묶기 위해 의도적으로 서버 메서드를 문서화하지 않는다는 사실에 직면했습니다. 다른 개발자를 지원하는 프로젝트, 서버 부분에 대한 문서 부족, 때로는 단순히 비전문성 때문입니다. 불행하게도 이 사실은 안타까울 뿐만 아니라 널리 퍼져 있습니다. 이 경우 고객은 프로젝트 지원의 효율성, 편의성 및 편의성을 판단할 수 있기 전에 소스 코드 감사뿐만 아니라 기존 프로젝트에 대한 문서 개발 비용을 지불해야 합니다. Appomart는 나중에 사용할 수 있도록 Postman 및 Swagger에서 지원하는 형식으로 백엔드 방법의 전자 문서를 유지 관리합니다.

계약을 체결하기 전에 계약자를 확인하는 방법은 무엇입니까?

신중하게 계약자를 선택하고 유혹적인 가격뿐만 아니라 프로젝트와 함께 받게 될 문서 목록, 소스 코드를 이전하고 코드를 덮는 조건에 중점을 둘 것을 촉구합니다. 주석, 데이터베이스 스키마(Mongo DB 또는 MySQL). 일반적으로 성공의 열쇠는 작업의 각 단계가 완료될 때 귀하에게 전달되는 자료에 대한 요구 사항을 명확하게 나타내는 유능한 작업 문서입니다.

개발 기능

백엔드용 PHP

응용 프로그램의 서버 측 생성(소프트웨어 측에 대해 이야기하고 있으므로 "하드웨어" 또는 컴퓨터와 같은 서버와 혼동하지 말 것)에는 특정 전문 기술과 서버 측에서 사용되는 프로그래밍 언어에 대한 지식이 필요합니다. 클라이언트-서버 애플리케이션의 예를 보면 PHP가 인기가 있음을 알 수 있습니다. 서버 애플리케이션 개발의 확실한 리더입니다. 전 세계 사이트의 절반 이상이 하나의 구성 또는 다른 구성에서 이 언어로 작성됩니다. PHP는 개발 및 유지 관리가 쉬울 뿐만 아니라 PHP 개발 속도를 높이는 특수 프레임워크가 있습니다.

뼈대

프레임워크(소프트웨어 플랫폼) - 프로젝트를 보다 유연하고 확장 가능하게 만드는 추상화 수준을 구성하고 높이는 데 사용됩니다. 그러나 프로젝트의 작업 문서에 대한 심층 분석을 기반으로 프레임워크를 올바르게 선택해야 하며 프레임워크 없이는 고품질 제품을 개발할 수 없다는 점을 이해해야 합니다.

델파이, 자바, 파이썬

백엔드를 만드는 데 사용되는 다른 언어가 있습니다. 그래서 델파이 환경에서 만든 서버 애플리케이션이 널리 퍼져 있습니다. 그것의 도움으로 프로그램의 디버깅이 향상되고 환경에서 고유한 프로그램을 쉽게 만들 수 있으며 시각적 생성이 제공되어 아름답고 이해하기 쉽고 편리한 인터페이스를 만들 수 있습니다. Java 서버 응용 프로그램도 인기를 얻었습니다. 이들은 쉽게 보완되고 모든 플랫폼에서 쉽게 실행되며 적절한 수준의 보안을 제공합니다. 또 다른 대중적인 언어는 Python입니다. 그것의 도움으로 서버 응용 프로그램은 심각한 비용없이 빠르고 간단하게 생성됩니다.

확산

기업 환경에서는 클라이언트-서버 애플리케이션 생성이 요구됩니다. 종종 이러한 프로그램은 작업 그룹 또는 기업 내 정보 시스템 생성에 사용됩니다. 클라이언트와의 통신을 유지하기 위한 대다수의 모바일 애플리케이션도 유사한 아키텍처를 가지고 있습니다. 인기는 서버 기능을 사용하면 네트워크 부하를 줄이면서 시스템의 제어 및 무결성을 보장할 수 있기 때문입니다.

고품질의 Android, iOS용 클라이언트-서버 애플리케이션을 적시에 만들 것입니다.

턴키 개발

Appomart 프로그래머는 다양한 수준의 작업을 구현할 수 있는 경험과 자격을 갖추고 있습니다. 우리는 소셜 네트워크, 고부하 비즈니스 프로젝트 또는 소규모 스타트업을 위한 소프트웨어 부분을 구현하는 데에도 똑같이 능숙합니다. 필요한 경우 기존 요구 사항 및 요구 사항에 따라 Android, iOS를 실행하는 애플리케이션의 클라이언트 부분을 생성합니다.

Appomart의 백엔드

우리의 프로그래머는 다른 기술로 작업하고 똑같이 잘합니다. Appomart에서 Java, PHP 및 Node.JS로 클라이언트-서버 애플리케이션을 주문할 수 있습니다. 시스템 요구 사항은 각 프로젝트에 대해 개별적으로 분석되므로 프로그램의 최적 성능을 보장할 수 있습니다. Java, PHP 및 Node.JS 클라이언트-서버 애플리케이션을 처음부터 새로 만들거나 개선 및 업데이트를 지원하기 위해 기존 애플리케이션을 사용할 것입니다. 새로운 서버 부품을 개발하거나 기존 부품을 지원하는 데 관심이 있는 경우 작업 비용 및 협력 옵션에 대한 자세한 계산을 요청하십시오.



관련 기사: