2013-02-22 7 views
13

Obecnie pracuję nad natywną aplikacją na Androida. Moja aplikacja ma wiele działań. Chcę stworzyć aplikację na Androida native. Ale w niektórych przypadkach chcę użyć modelu webview, w którym cały układ to tylko przeglądarka internetowa. Nie liniowy lub względny lub inny układ, tylko widok WWW. Wszystkie obrazy i inne rzeczy działające w HTML. All of screen will run in HTML5.Czy to przydatne przy użyciu całego układu WebView w natywnej aplikacji na Androida?

Tak, mogę częściowo przenieść moją aplikację do aplikacji na iPhone'a lub na inne platformy. To jest dla mnie korzyść w ten sposób.

Ale nie wiem. Czy to jest lepsze? Jaki będzie występ? Jakie są wady konwersji do aplikacji HTML5?

Czy możesz wyjaśnić?

Pozdrowienia

+0

Jest to alternatywny sposób bez wątpienia, ale wydajność aplikacji zależy od połączenia z serwerem. –

+0

Mój webview nie polega na Internecie. Będzie działać lokalnie. –

Odpowiedz

12

Jest very good presentation o tym samym temacie.

  1. Wydajność: Ty dodajesz dodatkową warstwę pomiędzy, Silnik WebKit może nie zawsze zgadza się natywną (a czasami przyspieszane sprzętowo) wydajność renderowania.

  2. Wady: Jednym z nich jest wykorzystanie API jest ograniczony, można powiązać strona w JavaScript do kodu, ale nie wszystkie funkcje są available.Though warto rzucić okiem na możliwości Cordova projektu. Innym jest to, że emulacja złożonych widżetów za pomocą JavaScript spowolni działanie strony.

  3. Przenośność: Rzeczywiście jest wielką zaletą, dlatego popularne są modele PhoneGap i Cordova. Chociaż wiele aplikacji Facebook itp. Ma aplikację switched to native dla lepszej wydajności.

Podejście, którego potrzebujesz, zależy od Twoich wymagań. To może być mój osobisty rant, ale IMHO: jak na razie marże mogą być skręcane, nie można jeszcze na razie przeprowadzić testów programistycznych GUI klasy przemysłowej.

+0

Dzięki, twoja odpowiedź jest bardzo ilustracyjna. –

+0

@BreedHansen Zaktualizowałem pierwszy link do prezentacji na ten temat. –

+0

bardzo dziękuję. Będę oglądał. –

1

Myślę, że - korzystając z tej metody - jakość aplikacji będzie słaba, a aplikacja będzie trudna w użyciu, ponieważ obiekt WebView nie ma wielu narzędzi, które można by dostosować do Androida. np. nie możesz udostępniać ani zapisywać danych ze swojej przeglądarki internetowej do aplikacji. Niezależnie od tego, jakie informacje na temat twojej aplikacji są potrzebne i czego nie potrzebujesz, przy okazji próbowałem stworzyć aplikację z html, ale była ona zła.

+0

Dzięki za wyjaśnienia. –

+3

Muszę się nie zgodzić, Po pierwsze, treść twojego webviewu jest w stanie łatwo komunikować się z samą aplikacją. Chociaż jest to ograniczone, dla większości aplikacji informacyjnych może to być bezpieczniejsze podejście. HTML umożliwia także projektantowi/programistom stron internetowych łatwe tworzenie aplikacji, która byłaby lepszej jakości dzięki doświadczeniu z HTML/CSS/JS – Mayhem

0

przeciw WebView

  • Nie można używać pełnej wydajności urządzenia, Ponieważ Zobacz Web tworząc dodatkową warstwę.
  • Widok internetowy nie może wysłuchać wszystkich zdarzeń użytkownika.
  • Nie można w pełni udostępnić ani zapisać danych z widoku internetowego do aplikacji.
  • Poświęć więcej czasu na załadowanie. Inne otrzymujemy wszystkie rzeczy w prostym API i można je renderować.
  • Zmiana prostych pól na stronie wymaga ponownego załadowania pełnej strony.
  • Wymagane połączenie online, nie można rozszerzyć funkcji trybu offline.
  • Zmiany orientacji i pełny ekran utrudniają.

Plusy korzystania Zobacz Web

  • Jedna strona zarówno dla Androida i iOS.
  • Myślę, że główną zaletą jest możliwość wprowadzania zmian bez konieczności aktualizowania aplikacji przez każdego użytkownika na jego urządzeniu, ponieważ wszystkie strony znajdują się na serwerze.
  • Nie czekaj na zatwierdzenie sklepu z aplikacjami do aktualizacji.

Niektóre techniki

  • Native elementy, wraz ze WebView. Myślę, że będzie znacznie lepiej, ponieważ istnieje wiele funkcji, których nie można wykonać tylko za pomocą WebView. Połączenie tych dwóch jest o wiele bardziej zalecane.
  • Renderowanie z poziomu lokalnego, Utwórz katalog zasobów dla plików HTML - Android wewnętrznie odwzorowuje go na plik: /// android_asset/(uwaga pojedynczego zasobu). Możesz więc podawać swój formularz sieciowy lokalnie, nawet jeśli jesteś offline.
+0

Czy jesteś pewien/pewna, że ​​"wymagane jest połączenie internetowe"? Możesz użyć obiektu JavaScript 'localStorage', aby przechowywać dane lokalnie dla twojej aplikacji. Ponadto, Webview może słuchać zdarzeń interfejsu poprzez jquery itp. –

Powiązane problemy