상용 Android 앱을 빌드하려면 개발자가 알아야 할 사항 / 주소는 무엇입니까? [닫은]


21

Android 및 모바일 개발은 흥미로운 개발 영역입니다. 새로운 원칙이기 때문에 안드로이드 개발자는 기술적으로 상업적으로 강력한 응용 프로그램을 구축 할 것으로 기대되는 것은 무엇입니까? 제가 생각하기에 기술에 대한 다른 많은 "멍청한 놈들"은 기술 기술 분야와 Google이 제공하는 기본을 넘어서는 필수 고급 주제로의 발전입니다. 이 많은 매우 유용하지만이 규율이나 질서의 범주로 구성되지 정보는.

업데이트 : 이런 식으로보십시오. 수석 개발자 인 경우 특정 프로젝트에 대해 Android에서 동료 동료에게 도움을 주어야한다면 (이 질문에 대한 재량으로) 어떻게해야합니까?


상업적이라는 것은 "상업적 질"또는 "돈을 벌다"를 의미합니까? 나중에 해당 지역에서 일자리를 얻거나 직접 앱을 작성하여 판매한다는 의미입니까?
Jon Hopkins

@ 존. 해당 영역을 제외하지 않습니다. 그러나 (제 생각에는) 현재 조직을 효과적으로 장치로 확장하려는 저 같은 개발자가 많이 있습니다. 따라서 실제로 "돈 버는 것"이나 새로운 일자리를 얻는 것이 아니라 정보 배고픈 경영진 / 도로 전사를 위해 기업을 확장하기 만하면됩니다.
angryITguy

내가 찾고있는 것은 안드로이드의 선임 개발자들로부터 "오! 당신은 이것을 먼저 읽고 나서 HTTP를 위해 읽어야한다. 또는 이것은 인터페이스 디자인을 위해 그리고 2D / 3D를 그리기 위해 이것을 요구한다"라는 순간을 가진 조언이다. 이것을 반영하여 내 질문을 업데이트했습니다.
angryITguy

답변:


16

이 질문에는 몇 가지 측면이 있습니다.

기술적 인 관점 에서 "어떻게?"

마스터해야 할 기술과 여러 가지 "좋은"기술이 있습니다.

  1. 첫 번째는 Java 입니다. Android SDK는 모든 앱이 Java로 작성되었다는 가정을 기반으로합니다 . .net에서 개발할 새로운 타사 솔루션이 있지만 ( 단일 로이드 참조 ) 결국 기본 OS는 Linux입니다.

  2. 두 번째는 일식 입니다. 많은 타사 SDK가 있지만 ADT, Intellij 또는 Netbeans 비해 약간 더 우수 하지만 Google의 노력은 공식적으로 현재 식에만 집중되어 있습니다.

편집 : 2016 년 1 월 현재 Google은 공식 IDE로 Android Studio를 공식 지원합니다.

안드로이드 아키텍처에는 약간의 노출이 항상 도움이 될 많은 빌딩 블록이 있습니다.

  1. SQLite

  2. 비디오 및 오디오 스트리밍의 일반적인 개념, 코덱 OpenCore (android.media)의 경우

  3. OpenGL 도면.

  4. REST 기반 웹 서비스, XML 또는 JSON.

  5. 기본 코드 개발을위한 ARM 아키텍처와 관련된 개념

또한, 내 크리스탈 그릇에 읽기, 안드로이드 개발자들도 리눅스를 알고 구글은 자바와와 대체를 도랑 때 일에 대한 기본 언어에 능숙해야합니다 이동 하거나 (양조 곳이 자신의 "볼 수있는 몇 가지 다른 것들 네이티브 클라이언트 "주도권을 브라우저 도메인에서). Google은 Dalvik을 보완하기 위해 표준 JNI 메커니즘을 사용하여 c 및 C ++ 용 NDK (Native Development Kit) 를 이미 출시했습니다 .

상업적 관점 에서 "무엇을?"

안드로이드 개발자는 물론 안드로이드 사용자 여야합니다. 그러나 표준 휴대 전화 사용자뿐만 아니라 태블릿 사용자도 있습니다. 그들은 실제로 Jobsian의 태도를 채택해야합니다. 항상 항상 "전화, 태블릿 또는 아직 시장에없는 소비자 가전 제품으로 어떻게 더 잘 할 수 있을까요?"

아직 시장 리더가없는 이동성 (또는 일반적인 지루한 "가장 가까운 피자 피자"앱)과 관련이없는 안드로이드 응용 프로그램이 많이 있습니다. 개인적으로 내 마음에서 벗어날 수없는 몇 가지가 있습니다 (더 많은 시간이있을 때까지 ;-).

  1. 아이에게 그림을 그리고 읽도록 가르치십시오.

  2. 외국어를 배우는 플래시 카드.

  3. UK-FreeSat TV- 가이드 + 리모컨.

  4. 너의 여기 (요리법 ... 등).


귀하의 답변이 마음에 듭니다. SQLLite, Webservices / REST / JSON 및 OpenGL에 사용한 링크를 제공 할 수 있습니까?
angryITguy

12

솔직히 말해서, 당신은 단지 구글과 연구가 필요하다고 생각합니다.

내가 찾은 흥미로운 링크는 다음과 같습니다. 좋은 출발점이 될 수 있습니다.

논의한 Google 문서에 다른 것들이 많이 있습니다.

이것이 당신이 원하는 세부 사항을 찾는 시작할 수 있기를 바랍니다!

행운을 빕니다


안녕하세요, 이것이 바보 일 경우 미안하지만 나는 여기에 처음입니다! 이것이 왜 표결되지 않습니까? 내가 묻는 이유는 아무도이 질문에 아무도 대답하지 않았고 때로는 (어쨌든 그렇게 생각합니다) 당신은 나가서 스스로 답을 해결해야한다는 것입니다. 그게 내가 기본 시작점으로 제안한 모든 것이므로 무엇이 잘못 되었습니까?

+1은 음수에 대항합니다. 또한 그것은 좋은 링크를 제공합니다 :)
대런 영

@Darren Young-고맙지 만 투표가 거부되는 이유에 관심이있었습니다. 따라서 사이트를 더 잘 사용할 수 있지만 +1은 언제나 환영합니다!

@파는 사람. 그 정보 주셔서 감사합니다. 이것은 내가 이미 찾은 엔트리 레벨의 물건입니다. 상급 개발자들이 더 많이 뛰어 들어이 답변을 조금 더 가져 오기를 바랐습니다. +1
angryITguy

@giulio-감사합니다. 찾고있는 정보를 찾으시기 바랍니다.

5

Google의 공식 개발자 안내서

Google의 Android 용 개발자 안내서를 살펴 봅니다. 여기에는 앱이 Android 앱의 모양과 느낌과 일치하도록하는 모범 사례와 가이드 라인이 포함되어 있습니다.


감사. 이미 Google SDK 및 개발자 안내서 ( developer.android.com/guide/index.html )를 발견했습니다 . 그러나 상용 등급의 ​​응용 프로그램 개발 및 배포에는 누락 된 부분이 많이 있습니다.
angryITguy 2019

3

내가 볼 두 가지. 하나는 앱 제작을위한 Apple의 설계 지침입니다. 질문은 Android 앱에 관한 것이지만 중요한 원칙이 적용되고 실제로 '앱'디자인 방식으로 생각하게하는 데, 이는 실제로 데스크톱 앱 디자인 관점과는 상당히 다릅니다.

또한 Appcelerator Titanium을 살펴보면 Javascript / 웹 개발 유형 환경에서 iPhone, iPad 및 Android의 기본 코드로 코드를 이식 할 수있는 도구입니다. 작은 앱을 빠르게 만드는 유용한 방법을 찾았습니다. 이름에서 알 수 있듯이 사용 가능한 모든 기본 기능을 보여주는 '주방 싱크'예제를 다운로드 할 수 있습니다. definitley는 이것을 시작 장소로 추천합니다.


티타늄을보고 감사합니다. 응답자가 원하는 답변을 찾을 수 있도록 질문을 업데이트했습니다.
angryITguy

2

필자는 필요한 프로그래밍 언어에 대한 기본 기술과 SDK 도구 및 라이브러리에 대한 지식을 습득 한 후 새로운 모바일 개발자에게 3 가지 누락 된 사실을 발견했습니다.

  1. 제한된 환경을위한 개발. CPU, 메모리, 디스플레이 픽셀 및 사용 가능한 배터리 전원은 모바일 장치에서 훨씬 더 제한적입니다. 일부 프로그래머는 빠르고 작은 프로그래밍에 노출 된 적이 없습니다. 5kW의 전력 및 냉각 장치를 사용할 수있는 랙이있을 때와 같은 방법으로 문제를 해결할 수 있다고 생각할 수 없습니다. 구식 타이머가 48kB의 1MHz CPU에서 훌륭한 게임을 코딩하는 데 사용한 몇 가지 요령을 다시 익히십시오. 기억의 또는 그와 같은 것. Arduino 또는 다른 소형 컨트롤러에서 코딩을 연습 할 수도 있습니다.

  2. UI 친숙성. 사용자는 일반적으로 데스크톱 시스템과 다른 방식으로 모바일 장치와 상호 작용합니다. 하나를 가지고 다니십시오. 아마도 여러 모델 일 수 있습니다. 그것을 써. 많은 앱과 비평 (기능이 아니라), 사용하기 쉬움, 조명이 어둡거나 움직이는 차량을 튀는 등 다양한 모바일 HIG를 읽고 다시 읽습니다. 코딩중인 특정 UI 플랫폼에서 사용자가 좋아하는 것과 싫어하는 것을 알고 있습니다.

  3. 퀴크 친숙 함. 일부 도구 및 라이브러리는 새로운 기능이며 "질투"가 있습니다. 개발자 보드에서 문제와 솔루션을 읽으면 다른 개발자의 실수와 같은 실수를 저 지르지 않아도됩니다. 하드웨어, API 또는 앱 배포 모델에서 허용하지 않는 작업을 수행하는 방법에 대한 스택 오버플로에 대한 질문이 너무 많습니다. 회사 전체가 iPhone App Store에 불가능한 일을하려고 애 쓰고 있습니다.


intteresting .. 해당 주제를 다루는 사이트에 대한 참조를 제공 할 수 있습니까?
angryITguy

1

나는 다음과 같은 방법으로 주니어를 훈련시켰다.

1 단계 : 안드로이드 마켓에서 무료 응용 프로그램과 API 데모를 보도록 요청합니다. 왜냐하면 그들은 아이디어를 얻을 수 있기 때문입니다 ( http://developer.android.com/resources/samples/ApiDemos/index.html ) 또한 http://www.androidpeople.com/

인스턴스의 경우 : Android 용 IBNLive 앱이 애플리케이션을 볼 때 이들이 가능하다는 사실을 대략적으로 알 수 있습니다. 왜 우리가 이와 같이 / use, 디자인 또는 컨트롤 또는 기능을 언급 할 수 없는지 알 수 있습니다.

2 단계 : 일단 희망을 갖게되면 기존 애플리케이션을보고 Google은 물론 Android 용 성경 역할을하는 Android 개발자 안내서를 검색 할 수 있습니다.

예를 들어 : 나의 주니어는 확장 가능한 목록보기 및 푸시 알림에 대한 아이디어를 얻은 다음 검색하여 이러한 작업을 수행하는 방법을 찾은 다음 푸시 알림을 찾고 클라우드 2 디바이스 메시징을 사용하여 연구하고 수행했습니다. 훌륭한 방식으로.


0

기술보다 훨씬 더 중요한 것은 (어떻게 배울 수 있고 어려워서는 안된다), 무엇을, 누구를 위해, 그리고 충분히 팔 수 있는지를 아는 것입니다. iOS와 달리 마지막 부분은 여전히 ​​안드로이드에서 일종의 문제입니다.

따라서 Android 개발을 배우기 전에 달성하려는 대상, 달성 방법 및 실제로 지속 가능한지에 대한 명확한 그림을 작성하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.