2009-02-20 17 views
6

Przeprosiny za długie wprowadzenie - po prostu staramy się odpowiednio ustawić scenę, aby uniknąć niejednoznaczności i zamieszania.Płynna degradacja poza domeną aplikacji internetowych: jak duży jest to problem?

Aplikacje internetowe rozwinęły się z głupich interfejsów opartych na przeglądarkach dla logiki po stronie serwera do bycia w pełni aplikacjami przeglądarkowymi, przy minimalnym zapotrzebowaniu na logikę po stronie serwera. Możliwe jest opisanie tej ewolucji poprzez identyfikację wyraźnych generacji aplikacji internetowych.

Rozważmy tylko na chwilę, tylko dwa pokolenia: przed i po ajax. Z pewnością istnieją inne czynniki, takie jak te dotyczące obsługi CSS i nagłówków Kontroli Dostępu, ale zacznijmy od prostych.

Począwszy od pozbawionego stylu systemu mało prostego w obsłudze JavaScript, dodawanie warstw wdzięcznie upraszczających ulepszeń i kończenie za pomocą zapakowanej w ajax, wysoce responsywnej współczesnej aplikacji jest trudnym i podatnym na błędy zadaniem. To wcale nie jest łatwe.

Niezależnie od tego, do której generacji aplikacja internetowa może należeć, zależy od sposobu, w jaki aplikacja jest dostępna. Ta sama aplikacja internetowa wydaje się być aplikacją pierwszej generacji, jeśli uzyska się do niej dostęp za pośrednictwem Lynxa i aplikacji najnowszej generacji, jeśli uzyska się dostęp za pośrednictwem FireFox 3.1, z kilkoma poziomami pośrednimi, w zależności od agenta użytkownika używanego do uzyskania dostępu do aplikacji.

Problem tworzenia aplikacji internetowych, które wdzięcznie rozkłada zależności od możliwości agenta użytkownika, gdzie coś stworzonego do skorzystania z aktualnych cech przeglądarka przywrócić funkcjonalność czegoś stworzonego może piętnaście lat temu w obliczu z Lynxem, jest bardzo trudne.

Nie mogę sobie wyobrazić aplikacji komputerowej, w której występuje takie zróżnicowanie w środowisku operacyjnym.

Pojedynczy plik wykonywalny (w przeciwieństwie do zestawu wariantów specyficznych dla systemu operacyjnego), który może korzystać z funkcji w systemie Vista, może odpowiednio poradzić sobie z sytuacją, gdy jest uruchamiany pod XP i gdy brakuje niektórych funkcji systemu Vista. Aby degradować się na porównywalnej odległości jako aplikacja internetowa, ta sama aplikacja desktopowa nadal musiałaby działać, aczkolwiek w mniej fantazyjny sposób, gdyby działała w środowisku opartym tylko na wierszu poleceń, takim jak DOS.

Uruchom go pod Lynxem, jest to aplikacja internetowa pierwszej generacji. Uruchom to samo w FireFox 3.1, to fantazyjna, lśniąca współczesna aplikacja internetowa. W obliczu takiego problemu uznasz to za trudne, trudne, ale wykonalne.

Uruchom go pod DOS-em, jest to aplikacja z wiersza poleceń. Uruchom to samo pod Vistą, to fantazyjna, lśniąca współczesna aplikacja internetowa. Jeśli staniesz w obliczu takiego problemu, uznasz to za obłąkane. A może ty?

Czy aplikacje na komputery stacjonarne napotykają na tak dużą zmienność w środowiskach operacyjnych, jakie mogą mieć aplikacje internetowe?

Czy ten problem (szerokość wariancji, a nie sama wariancja) jest unikalny dla domeny aplikacji internetowych lub czy można go znaleźć w środowisku graficznym?

Odpowiedz

1

Aplikacje do komputerów stacjonarnych nie mają takich samych problemów z aplikacjami sieciowymi w tym zakresie. Zazwyczaj są one uruchamiane na jednej dobrze zdefiniowanej platformie.

Może to ulec zmianie w przyszłości. Komputery przenoszą się z komputerów stacjonarnych na telefony komórkowe i mniejsze komputery przenośne. Aplikacje komputerowe będą musiały w przyszłości działać na wielu różnych platformach. Może to powodować problemy, ponieważ większość frameworków, których używamy do tworzenia aplikacji desktopowych, radzi sobie z tym jeszcze gorzej niż framework dla aplikacji internetowych.

+0

oh, nie wiem .. QT jest naprawdę dobry do rozwoju platformy. Największym problemem będzie wtedy zdolność urządzenia - np. Rozmiar ekranu w telefonie w porównaniu do komputera. – gbjbaanb

+0

Zgadzam się, że tworzenie wielu platform jest już możliwe dzięki kilku językach i strukturom. Ale pełna wdzięku degradacja polega na zmniejszeniu rozdzielczości ekranu, przepustowości, procesora, pamięci itp. W razie potrzeby. Qt lub inne frameworki nie radzą sobie tak dobrze. – Mendelt

0

W obszarze aplikacji i systemu operacyjnego problem zazwyczaj się odwraca. To system operacyjny obsługuje całą złożoność utrzymywania kompatybilności. Z drugiej strony aplikacja zwykle wymaga minimalnej wersji OS.

Innym miejscem, w którym aplikacje zaczynają dostrzegać ten problem, jest świat Java i, w mniejszym stopniu, wszystkie inne tzw. Skrypty skryptów, które działają na wielu systemach operacyjnych.

1

Nie mogę sobie wyobrazić aplikacji komputerowej, która napotkałaby taką wariancję w środowisku operacyjnym.

Aplikacje na komputery mają do czynienia z wariancją, tylko innego rodzaju. Karty graficzne w grach są tego dobrym przykładem: chcesz mieć przyzwoitą obsługę dla podstawowych klientów, ale Twój klient z wyższej półki z nową, błyszczącą kartą graficzną będzie chciał pobiegać za swoje pieniądze. Po wejściu w obszar przetwarzania na GPU i zarządzania pamięcią na karcie będziesz miał powód, by przeklinać wariancję w środowiskach operacyjnych.

Zwykle radzisz sobie z większą liczbą procesorów i intensywniej wykorzystujących pamięć niż aplikacja internetowa, więc musisz wziąć to również pod uwagę. I nawet nie mówię o operacjach między systemami operacyjnymi (które wiele programów komputerowych obsługuje bardzo wdzięcznie).

Oczywiście nic nie sprawia, że ​​wydawca oprogramowania komputerowego narzuca surowe kryteria dotyczące środowiska. To tylko kwestia biznesu. Ale nic nie zmusza Cię do obsługi przeglądarek spoza głównego nurtu (i czy większość aplikacji internetowych naprawdę obsługuje Lynx?!?).

+0

"Czy większość aplikacji internetowych naprawdę obsługuje Lynx?" - Wymieniono Lynx w celu zademonstrowania możliwego zakresu zmienności w środowisku operacyjnym, to jest, chociaż rzadko jest to niewykonalne, że popyt na taką wariancję byłby wymogiem. –

+0

Jeśli chcesz porównać jabłka z jabłkami, powinieneś rozważyć, co jest uważane za "główny nurt" w obu światach. Dla mnie ekwiwalent obsługi Lynxa przypomina wsparcie dla Vista i 10-letniej wersji RedHata (co w wielu przypadkach może być rozsądnym wymogiem). – Kena

+0

Vista/RedHat to nie to samo. Nie będziesz miał dokładnie tego samego pliku wykonywalnego, który będzie działał na obu, będziesz miał bardzo podobne warianty dla każdego z nich. Porównanie Vista/RedHat jest bardziej zbliżone do posiadania specyficznej dla Lynx wersji twojej aplikacji internetowej i osobnej wersji FireFox/IE/Safari/Chrome/Opera. –