2012-10-01 13 views
8

Przeczytałem o natywnej obsłudze funkcji Phonegap here. Najwyraźniej nie wspomina o obsłudze Bluetooth. Nie udało mi się znaleźć ani zlokalizować żadnej innej platformy z obsługą tworzenia platform dla wielu platform mobilnych. W rezultacie aktualnie mam do czynienia z dwoma wyborami.Jaki jest najlepszy sposób na stworzenie aplikacji mobilnej z obsługą bluetooth?

  1. Budowa niezależnie dla wszystkich platform (opcja bardzo bolesne)

  2. znalezienia odpowiedniego rozwiązania rozwój cross-platform (które nie zostały jeszcze znalezione).

Moje pytanie brzmi; dla mobilnych deweloperów, którą opcję zaproponowałbym, nie wymienioną tutaj? Jeśli to możliwe, pomóż również w szczegółach za i przeciw.

Dziękuję bardzo.

+2

FWIK nie ma otwartego zestawu SDK dla bluetooth na iOS. Bluetooth jest dostępny tylko dzięki abstrakcji Gamekit, która ogranicza cię do tego, co możesz zrobić. Z drugiej strony możliwe jest zbudowanie zgodnej z GameKit implementacji bluetooth na Androida. Zbadałem tę opcję raz, ale nie wykroczyłem zbyt daleko poza początkowe badania. – Cliff

Odpowiedz

7

Budowa niezależnie dla wszystkich platform (opcja bardzo bolesne)

Z mojego doświadczenia, to jest zdecydowanie bolesne opcja najmniej, a nie tylko dla Bluetooth. Obciążenie związane z nieszczelnymi wieloplatformowymi abstrakcjami zazwyczaj przewyższa korzyści, gdy dojdziemy do prawdziwego produktu produkcyjnego. Stwórz doskonałą aplikację na iPhone'a. Stwórz doskonałą aplikację na Androida. Możesz udostępnić wiele projektu interfejsu użytkownika (choć nie wszystkie). Możesz udostępnić większą część projektu struktury danych. Możesz udostępnić część wewnętrznej architektury. Możesz udostępniać dowolne protokoły sieciowe (szczególnie jeśli projektujesz je w JSON). Ale unikaj dzielenia się kodami i unikaj strzelania do najmniej wspólnego mianownika. To dość daleko ....

Dla niektórych rodzajów projektów sensowne jest dzielenie się niektórymi kodami C++ między platformami. Próba opracowania tych rzeczy w JavaScript jest receptą na frustrację w momencie przekroczenia najbardziej podstawowych aplikacji. Łatwo zhackować coś w mobilnym JavaScriptu tego typu. Bardzo trudno jest sprawić, by wyglądał i działał świetnie na wszystkich platformach; o wiele trudniejsze niż tylko pisanie ich natywnie w pierwszej kolejności.

Niektóre dalsze dyskusje na ten temat: (.. Gdzie omówię jak dzielić duże, ustanowionych C++ bazy kodu, ale to nie ma zastosowania do nowego rozwoju)

+0

"Stwórz doskonałą aplikację na iPhone'a Zbuduj doskonałą aplikację na Androida" To nie jest takie proste ... Nie możesz też udostępnić * żadnego * kodu. Możesz udostępniać wzorce i przepływ, ale obie platformy mają unikalną architekturę i będziesz musiał pisać/zarządzać każdą funkcją dwa razy. Tak więc, dostanie lepszy produkt końcowy, ale nie mogę uwierzyć, że jest to opcja "najmniej bolesna"! – edthethird

+4

Po porównaniu z innymi opcjami, uważam, że jest najmniej bolesne, jeśli twoim celem jest wyprodukowanie poważnej (niezwiązanej z grą) aplikacji. Gry, które w dużym stopniu opierają się na OpenGL, mogą znacząco dzielić kod OpenGL C/C++ między platformami. Ale nawet Facebook w końcu rzucił ręcznik i przepisał natywną aplikację po latach próbując naprawić swoją wersję JS. Każdy, kto rozważa pisanie aplikacji na iOS w JavaScript, powinien zacząć od stwierdzenia "Jestem lepszym programistą JS niż zespół Facebooka". Jeśli możesz powiedzieć to uczciwie (i niektórzy prawdopodobnie mogą), daj temu szansę. Jeśli nie, napisz to natywnie. –

+0

Świetna odpowiedź i komentarz! Myślę, że robisz tu naprawdę mocny punkt. Rozważałem i przyglądałem się wszystkim rodzajom platform, rozważałem nawet zastąpienie funkcji Bluetooth przez GPS, ale było jeszcze więcej problemów do rozważenia. Nokia jako firma ma urządzenia działające na około pięciu różnych platformach mobilnych i są tam dziesiątki rozmiarów ekranu. To naprawdę sprawia ból. Widziałem odpowiedź hotpaw2 i komentarz Cliffa, ale poczekam, aby uzyskać jeszcze kilka opinii, zanim to zaakceptuję. Dzięki –

3

Wymieniasz iOS jako jedną z pożądanych platform. W systemie iOS dowolna ogólna komunikacja Bluetooth (inna niż Bluetooth LE lub komunikacja za pośrednictwem Gamekita, zestawu słuchawkowego lub klawiatury) jest dostępna tylko dla licencjobiorców programu Apple MFi. Aby uzyskać szczegółowe informacje na temat tej licencji, należy najpierw złożyć wniosek do programu Apple MFi. AFAIK, żadna strona trzecia ani wielokierunkowy łańcuch narzędzi nie pomogą Ci w tym na iOS.

0

Nie wierzę, że OP mówi o aplikacji iOS na komunikację urządzenia, ale raczej komunikacji bluetooth typu peer-to-peer. Czy obowiązywałby wymóg licencjonowania programu Apple MFi?

Jeśli tak, czy interfejsy Bluetooth (i sprzęt) peer-to-peer mówią, że system operacyjny Android lub Windows Phone 8 jest kompatybilny z systemem z iOS? A jeśli tak, to czy przekazywanie danych przez JSON nie powinno być dość proste do budowania aplikacji mobilnych?

IMHO, dla prostych aplikacji biznesowych, tworzenie natywnych aplikacji dla każdej platformy jest drogą do zrobienia, jeśli chcesz w pełni wykorzystać dostępne zasoby na każdej platformie i dostosować się do różnych zasad projektowania interfejsu użytkownika.

Powiązane problemy