차례:
Android는 다양한 장치에서 실행되므로 다양한 화면 크기 및 해상도에서도 실행됩니다. 많은 사람들이 이것을 "조각화"라고 부릅니다. 그들이 데스크탑에서 수년간 같은 방식으로 디자인되고 개발 된 제품을 사용하고 있다는 사실을 신경 쓰지 마십시오. 모든 것이 정확히 같지 않으면 분명히 "조각화"레이블이 붙습니다.
크기와 밀도가 다른 화면을 사용할 때 발생하는 문제를 해결하는 방법에는 여러 가지가 있습니다. Apple은 iPhone과 iPad 용으로 설계된 앱에 대해 별도의 목록을 가지고 있습니다. Microsoft는 대형 화면 장치를위한 새로운 에코 시스템을 만듭니다. Android는 개발자가 서로 다른 화면에서 동일한 앱을 다르게 작동시킬 수있는 방법을 제공합니다. 각 방법에는 장점과 단점이 있지만 여기서는 Android에 중점을 둘 것입니다.
Android에서 응용 프로그램은 해상도뿐만 아니라 다양한 크기의 화면에 맞게 레이아웃을 조정할 수 있습니다. 이것은 모두 내장되어 있지만 개발자가 앱을보기 좋게 만들기 위해 코드에서 선언해야 할 것이 몇 가지 있습니다. 명심해야 할 것은 화면 크기와 밀도가 앱의 모양을 어떻게 변화 시키는가입니다. Droid DNA에는 Motorola XOOM 태블릿보다 고해상도 화면이 있지만 휴대 전화 크기 화면에서 앱의 태블릿 레이아웃을보고 싶지 않습니다.
개발자는 고해상도로 선명하게 볼 수있을 정도로 품질이 높은 자산 (이미지)을 제공하고 레이아웃을 디자인 할 때 밀도 독립적 픽셀 단위를 사용해야합니다. 이것은 버튼 및 기타 컨트롤과 같은 것들이 Galaxy S2와 같은 저밀도 화면에서 실제로 커지거나 DNA와 같은 고밀도 화면에서 실제로 작아지는 것을 방지합니다.
복잡하게 들리지만 대부분의 경우 앱을 코딩 할 때 수행됩니다. 개발자가해야 할 일은 올바른 선언을하고 모든 크기 (물리적 및 해상도) 또는 레이아웃을 지원할 수있는 올바른 자산을 제공하는 것입니다. Google+ 앱과 같은 여러 레이아웃 앱에서도 동일한 코드를 사용하여 모든 가능한 화면을 커버합니다.
우리는 여기서 개발자를 판단하려고하지 않습니다. 앱을 작성하는 것은 어렵습니다. 안드로이드 개발자들은 진저 브레드가 출시 된 이후로이 모든 것을 전파 해 왔지만 얼마나 실용적입니까? 우리는 그것에 대해 몇 명의 개발자에게 물었습니다. 휴식 후 그들이 무엇을 말해야하는지 보았습니다.
더보기: Google의 Android 개발자 사이트
우리는이 주제에 관한 소수의 개발자들 (크고 작은)에게 몇 가지 기본적인 질문을했습니다.
- 지침을 준수하기가 얼마나 어렵습니까?
- 종이에서는 쉽게 보이지만, 보지 못한 특별한 문제 나 Google에서 다루지 않은 부분이 있습니까?
- 이것이 개발 시간과 비용에 어떤 영향을 미쳤습니까?
- 공유하고 싶은 주제에 대해 더 궁금한 점이 있습니까?
우리는 가능한 한 중립적 인 질문을해서 약간의 편견을 가지고이 문제를 해결하지 않았습니다. 의심스러운 경우 아는 사람들에게 물어보십시오. 나는 공정한 프로그래밍을 공유했지만 Java로 코딩하고 Android 앱을 빌드하는 것은 C 또는 기계 코드 또는 Perl로 코드를 작성하는 것과 매우 다릅니다. 앱을 빌드하는 일반적인 방법을 사용하더라도 이해하지 못하는 뉘앙스가 있습니다.
나는 많은 사람들이 나와 같다고 생각하며 안드로이드 앱을 만드는 복잡한 점을 모른다. 우리는 안드로이드 개발자의 말만보고, 쉽게 들리게합니다. 그들에게는 아마도 2007 년 이후 처음부터이 글을 쓰고 있었을 것입니다. 그들을 따라갈 수 있었던 사람들이 무엇을 말해야하는지 봅시다.
조 심슨 (@kennydude)-Boid
Joe는 Team Boid의 회원이며 자체적으로 응용 프로그램을 게시합니다. 그는 (그리고 그의 다른 팀원) 놀라운 애플리케이션을 만들어 낸 안드로이드에 대한 열정을 가진 독립 개발자의 훌륭한 예입니다.
특히 린 응용 프로그램을 원하지만 사람들이 역 호환성을 원할 경우 지침을 따르는 것은 상당히 어렵습니다. 가장 성가신 것 중 하나는 d.android.com/design에서 어떤 모습인지 실제로 보는 방법에 대한 정보는 없다는 것입니다.
트위터로 인해 GCM을 실제로 사용할 수 없으며 PtR을 사용하고 싶지 않을 때 약점이 새로 고쳐집니다. 또한 Google의 앱은 자체 가이드 라인을 구성합니다. 예를 들어 슬라이드 인 창을 예로 들어 보면 Google+는 YouTube와 다르게 작동합니다 (지원 라이브러리가이를 해결하기를 희망하지만).
또한, 당신은 요점을 알 수 있고 무언가에 대한 문서가 없습니다 (예: EdgeEffect).
저는 학생이므로 비용은 내가 보지 않는 것이지만 시간이 걸리지 만 사용자는 당신을 사랑할 것입니다. 기본적으로 라이브 쇼 (ADiA, App Clinic, Office Hours)는 안타깝게도 Google 앱에 대한 피드백을 제공 할 수는 없지만 필수입니다.
Boid는 곧 오픈 소스로 전환 될 예정이며 Google Play에서 앱 자체를 찾을 수 있습니다. 또한 Joe의 모든 앱 (여기에는 보석이 있음)이 있습니다.
Christophe Versieux-BeTrains-SNCB 벨기에; HoloEverywhere
Christophe는 BeTrains-SNCB Belguim을 비롯한 수많은 Android 애플리케이션을 개발했습니다. SNCB Belguim은 잘 구축 된 애플리케이션으로 수행 할 수있는 작업을 보여주는 멋진 레이아웃 앱입니다. 대부분의 미국에서는 사용하지 않지만 (벨기에 철도의 열차 일정 앱), 얼마나 잘했는지 확인하기 위해 설치하는 것이 좋습니다. 서유럽 사람들은 분명히 이것에 대해 알고 있습니다.
또한 다른 개발자가 Android 2.1 이상을위한 Holo 스타일 애플리케이션을 빌드하는 데 사용할 수있는 라이브러리 인 HoloEverywhere를 공동 개발했습니다. 많은 진저 브레드가 여전히 진저 브레드를 실행하고 있기 때문에 앱을 최신 상태로 유지하려는 개발자에게는 큰 도움이됩니다.
전혀 어렵지 않습니다. 진심으로. 고객이 해당 지침에서 벗어날 때 어려운 부분이 있습니다!
화면 하단에 탭을 배치하고 모든 곳에서 iPhone 버튼, iPhone 스타일 토글을 사용하려는 고객을 기억합니다.이 프로젝트는 실제로 달성하기가 어려워서 많은 시간과 돈을 잃었습니다.
그가이 모든 바보 같은 것들을 물었을 때 나는 그에게 정말 화가 났고, 그는 내가 게으른 개발자라고 생각했습니다.
나는 지금 그와 많은 접촉을하고 있으며 우리는 그의 앱을 완전히 다시 작성하고 쓸모없는 기능을 모두 제거하고 "순수한"안드로이드 앱을 만들어 멋진 코드를 만듭니다. 고객과 회사는 이러한 지침을 알고 있으면됩니다.
ActionBarSherlock, HoloEverywhere (내 작품), UnifiedPreferences 및 SlidingMenu와 같은 라이브러리는 사용하기 쉽고 몇 줄의 코드로 멋진 사용자 경험을 제공합니다.
내가 말했듯이 시간과 비용은 Google 지침에 따라 최소화됩니다. 프래그먼트 및 레이아웃 폴더는 사용하기가 매우 쉽고 재사용이 더 중요합니다. 태블릿 앱은 전화 레이아웃에서 코드 조각을 가져 와서 다시 작성할 필요가 없습니다. 동일한 조각이 사용됨에 따라 휴대폰 앱의 작은 변경 사항이 태블릿 앱에 즉시 반영됩니다.
일부 놀라운 프로젝트는 Google이 아닌 커뮤니티에서 만들었습니다. Roman Nurik (Google), Reto Meier (Google) Juhani Lehtimäki, Jake Wharton, Taylor Ling과 같은 Google+에서 매우 활동적인 일부 사람들은 (매우 중요한 사람들을 잊는 것을 두려워합니다.) 개발자는 어디를보아야하는지 알아야하며 Android 개발이 쉬워집니다!
Google Play에서 BeTrains를 찾을 수 있으며 Android 개발에 관심이있는 경우 HoloEverywhere를 살펴보십시오.
매튜 루노-자 포스
우리가 이야기 한 더 작은 독립 개발자 들과는 달리, 우리는 Zappos의 Matthew로부터도 들었습니다. Zappos는 웹 소매 회사이며 웹 사이트와 응용 프로그램 모두에서 디자인을위한 전용 예산을 가지고있을 것입니다. 또한 정기적으로 구매하는 회사이기도하지만이 회사는 아무런 관련이 없었으며 Matthew는 자원 봉사를 할 때 자주 고객이라는 사실을 알지 못했습니다.
Zappos는 소매업 자이기 때문에 무엇보다도 자사 브랜드를 고수해야합니다. 엉뚱하고 재미 있고 벽에서 약간 벗어납니다. 즉, 우리 모두는 Android 디자인 가이드 라인을 강력하게 믿고 있으며 UI에서 수행하는 모든 작업은 이러한 규칙의 정신에서 가져옵니다. 1 년 전 우리의 앱은 모양과 작동 방식에서 주로 iOS 포트였습니다. 오늘은 안드로이드에서 할 수있는 일품입니다. 우리는 가능한 한 가이드 라인을 준수하며, 디자이너는 가이드 라인에서 출발점으로 작업합니다.
디자인 가이드 라인이 전부는 아니며 모든 것이 끝납니다. 결국 그들은 안드로이드 앱의 디자인을 더욱 일관성있게 만들기 위해 노력할 것입니다. 우리는 우리가 사용한 일반적인 "새로운"오픈 소스 라이브러리의 대부분이 가이드 라인 (슬라이딩 메뉴, 크루 톤)의 일부로 끝났다는 것을 발견했습니다.
가이드 라인은 절대 보류가되어서는 안됩니다. 앱이 "작동"할 수 있도록 특정 항목 (전체 탐색)이 일관되어야합니다. 그 밖의 모든 것-지침에서 시작하여 디자인으로 실행하십시오. 우리는 우리의 앱이 우리의 APP이되기를 원합니다. 그래서 우리는 단지 기준점 홀로 테마를 할 수 없습니다.
올해 우리는 기본적으로 조각으로 작업하기 위해 앱을 처음부터 다시 작성했습니다. 지난 6 개월 동안 7 인치 태블릿 지원을 추가하기 위해 열심히 노력했으며 현재 10 인치 지원을 위해 노력하고 있습니다. 가장 어려운 작업은 기기에서 테스트하는 것이지만이를 지원하는 훌륭한 품질 관리팀이 있습니다. 8 월부터 앱에서 풀 타임으로 일한 사람은 2 명이었습니다.
결론은 안드로이드 디자인 가이드 라인을 통해 프로세스를 간소화하고 비용을 절감 할 수 있다는 것입니다. iOS의 대부분의 디자이너들이 직면하고 있습니다. 그래서 design.android.com과 같은 훌륭한 리소스를 사용하는 것은 안드로이드 생태계에서 킥 스타트를 시작하는 데 큰 도움이됩니다.
나는 Zappos의 디자인 선택이 잘 작동한다고 말할 수 있으며 아내는 내 주장을 강화하는 옷, 지갑 및 부츠로 가득 찬 옷장을 가지고 있습니다. Google Play에서 Android 앱을 확인하십시오.
조쉬 버튼-jRemote
Josh는 Android를위한 수많은 작은 응용 프로그램을 작성했으며 그의 jRemote 응용 프로그램 (일반적인 jDownloader PC 프로그램의 컨트롤러)은 레이아웃을 사용하여 휴대폰과 태블릿 모두에서 멋지게 보이는 앱을 만드는 방법을 보여주는 완벽한 예입니다. 장치 화면의 사용을 극대화하고 원하는 정보를 정확하게 제공합니다.
디자인 가이드 라인을 준수하는 것은 시작부터 계속 사용하는 한 매우 간단합니다. 전체 앱을 개발 한 다음 마지막으로 돌아가서 프래그먼트 / 태블릿 레이아웃 등을 구현하는 것은 시간, 노력 및 좌절을 낭비합니다. 그러나 앱을 계획하고 처음부터 조각을 사용하여 개발하고 모든 올바른 dpi 버킷에 대한 리소스를 만들면 산들 바람이 불고 가이드 라인에 대해 생각하는 데 많은 시간을 할애 할 필요가 없습니다. 또한 문제가 발생하면 클릭 한 번으로 디자인 문서를 작성할 수 있습니다. 그들은 훌륭한 자원입니다.
많은 장치에 태블릿 레이아웃이없는 것은 정말 실망 스럽습니다. 앱이 프래그먼트를 사용하여 빌드 된 경우 태블릿 레이아웃을 30 분 안에 추가 할 수 있습니다. 솔직히 그렇게 쉽습니다.
많은 개발자들에게 테스트 할 태블릿 장치가 없으며 에뮬레이터를 사용하는 것이 어려울 수 있다고 생각합니다. 그러나 새로운 ADT 도구가 출시되어 훨씬 쉬워졌습니다. 레이아웃 편집기의 다중 구성보기는 5-6 개의 다른 화면 크기에서 한 번에 레이아웃이 어떻게 보이는지 확인할 수 있습니다. 그리고 빨리. 물론 에뮬레이터 / 장치를 테스트해야하지만 워크 플로 속도는 확실히 빨라집니다.
jDownloader는 데스크탑에서 사용하기에 편리한 프로그램이며 jRemote는 그것을 제어하는 훌륭한 방법처럼 보입니다. 다른 것이 없다면 Google Play에서 다운로드하여 앱이 동시에 간단하고 아름답게 보일 수있는 방법을 살펴보십시오.
우리는 거의 같은 말을하는 다른 많은 개발자들로부터 들었습니다. 우리는 그들을 모두 나열하기 위해 여기에 방 밖에 있습니다. 모든 장점은 미리 계획하면 Android 개발자 가이드 라인이 대부분의 경우 실제로 작동한다는 것입니다. 우리는이 소식을 듣고 기쁘 며 계속해서 훌륭한 앱을 즐기고 열심히 일하는 개발자를 지원할 것입니다.