Dlaczego HTML, CSS i JavaScript nie są używane w aplikacjach komputerowych? [Zamknięte]


17

HTML, CSS i JavaScript mogą być używane do tworzenia pięknych (i przydatnych) interfejsów użytkownika (zwłaszcza teraz, gdy mamy HTML5 i CSS3), a wiele osób już je zna. Chociaż wciąż jest to poza moim zasięgiem, jak trudne może być przeniesienie całej aplikacji internetowej do aplikacji komputerowych? Testujemy już aplikacje na naszych lokalnych serwerach przed ich hostowaniem.

Moim zdaniem jest to miły, prosty pomysł, który stworzy boom w aplikacjach komputerowych. Ponadto, biorąc pod uwagę, że aplikacje te będą już udostępniać tyle kodu aplikacjom internetowym, mogą być w stanie zaoferować lepszą łączność.

Dlaczego się tego nie robi?


15
Czy to nie zostało ogłoszone jako Windows 8?
ChrisF

sry, nie wiele z entuzjastów systemu Windows, co mam dokładnie z prośbą o to open source ramy dla rozwijania db oparte aplikacji komputerowych, które można podłączyć do sieci, i tak, w końcu coś ścieżka łamanie od ms
kapv89

Dlaczego papier nie jest używany do budowy samochodów? (tak, to zły czas na analogię :))
pan

@ChrisF Czy to kiedyś działało w systemie Windows 8, czy było to tylko hype?
developerwjk

Odpowiedzi:


30

Adobe zrobił to już z Adobe Air , a Mozilla również z Prism . Google próbował też wypełnić lukę między komputerem a Internetem za pomocą Google Gears .

Ale ogólnie technologie sieciowe nie są odpowiednie dla wielu rodzajów aplikacji komputerowych, oto kilka powodów, dla których:

  • Brak natychmiastowego pełnego dostępu do sprzętu.
  • Brak dostępu do systemu na niskim poziomie.
  • Brak łatwo dostępnego systemu plików (technologie, o których wspomniałem powyżej, pozwalają uzyskać dostęp do systemu plików, ale każdy z nich jest innym rozwiązaniem).
  • Występ. Natywna, skompilowana aplikacja jest zazwyczaj szybsza niż aplikacja JavaScript.
  • Konkurentom łatwo jest ukraść kod źródłowy
  • Brak dostępnych bibliotek do specjalistycznych zadań. Dawny. przetwarzanie obrazu, kodowanie dźwięku, dostęp do bazy danych, programowanie sieciowe itp ...

Aby być uczciwym, nie wszystkie aplikacje wymagają pełnego sprzętu lub dostępu na niskim poziomie. Języki maszyn wirtualnych, takie jak Java, z pewnością działają dobrze bez tego rodzaju dostępu
TheLQ,

6
Czy znasz wiele aplikacji Java na komputery?
Yoni Roit,

co z javascript na Google v8, przeczytałem jego naprawdę szybko (tak szybko jak java), sam widzę różnicę, gdy uruchamiam ciężką animację js w chrome i innych przeglądarkach. A wraz z rosnącym interfejsem API dla HTML5, js naprawdę wnosi wiele do stołu, dzięki płótnom możesz przetwarzać obrazy i wszystko ... więc nie sądzę, że js naprawdę ma ten zły zestaw narzędzi, jako plus, jest to bardziej funkcjonalny język programowania, (funkcje są obiektami pierwszej klasy)
kapv89,

1
właśnie sprawdziłem pryzmat (teraz WebRunner) i sprzęt Google, fajne rzeczy do majsterkowania, dzięki
kapv89,

3
@YoniRoit: Eclipse, Vuze, system zamówień mojej farmaceuty ...
haylem

2

Ramy, które przychodzą na myśl, to Adobe Air. Umożliwia programistom korzystanie z Javascript / HTML do tworzenia aplikacji komputerowych. Sam Javascript / HTML nie jest odpowiedni dla aplikacji komputerowych, ponieważ często aplikacja komputerowa będzie potrzebowała dostępu do usług świadczonych przez system operacyjny, np. Otwieranie plików, uruchamianie innych aplikacji itp. Sam Javascript nie pozwala na dostęp do takich usług więc potrzebujesz czegoś dodatkowego, a ramy takie jak Adobe Air zapewniają ten dodatkowy klej.



1

IMO, nie stosuję HTML i CSS jako sposobu na układ GUI, ponieważ nie znam kompilatora dla tych języków. Jeśli mam błąd w kodzie, muszę go poszukać sam, albo nawet go nie zauważę (lub przejdź do strony HTML, aby go przetestować).

W c ++ podoba mi się, że nie pozwoli mi to skompilować, chyba że kod jest poprawny (z wyjątkiem przechwytywania problemów w czasie wykonywania).

Nie sądzę też, aby CSS i HTML grały ze sobą bardzo dobrze, na przykład używanie zmiennoprzecinkowe w CSS - w zależności od kodu HTML i sposobu użycia - wynik zmiennoprzecinkowy będzie miał różne wyniki - brak spójności w porównaniu z użyciem bezwzględnego pozycjonowania w win32 lub świetnych menedżerów układu Java Swing.


3
Walidatory HTML i CSS, które zrobią w zasadzie to, co robi twój kompilator C ++: sprawdzanie składni i sprawdzanie typu. Wierzę, że niektóre potężne IDE mają takie weryfikatory.
Arnaud Le Blanc

1
W części dotyczącej pozycjonowania CSS ma również pozycjonowanie bezwzględne, a HTML5 ma znacznie więcej niż menedżery układu Swing. Niektórzy redaktorzy pozwolą ci również zaprojektować GUI w sposób WYSIWYG.
Arnaud Le Blanc

0

Jednym z głównych powodów jest to, że jeśli nie chcesz, aby twoja aplikacja mogła zostać łatwo skradziona i skopiowana, musiałbyś również stworzyć aplikację, która posiadała WebControl, który bezpośrednio łączył się z twoimi plikami spakowanymi.
W rzeczywistości istnieją aplikacje, które to robią. Titanium Appcelerator jest jednym z nich. Nie polecam go używać, ponieważ ostatnim razem, gdy na niego patrzyłem, był pełen błędów i był słabo obsługiwany. Będziesz musiał przeprowadzić własne badania, czy warto.


0

Trochę późno, ale jeśli używasz AsYouWish w Firefoksie (lub tworzysz dodatki do Firefoksa, jeśli nie masz nic przeciwko spakowaniu plików i testowaniu ich narzędziami), możesz tworzyć aplikacje w HTML z uprawnieniami na pulpicie. Jeśli używasz WebAppFind (obecnie tylko system Windows), możesz także pobrać pliki pulpitu z pulpitu bezpośrednio do aplikacji internetowej (bez potrzeby przeciągania i upuszczania).

Oświadczenie: Te dodatki (typu open source) zostały stworzone przeze mnie.


1
Musisz ujawnić swoje powiązanie z produktem, który reklamujesz.
Rob W

0

Możesz używać Javascript, HTML i CSS do tworzenia aplikacji dla Windows Store, Windows Phone i - zakładam - XBox poprzez „Universal Apps”. (Żeby było jasne, zaczynając od Visual Studio przy użyciu File | New Project ...)

Wykorzystuje to powyższe do zbudowania twojego UX i kodu aplikacji na implementacji natywnych API.

Oczywiście zamiast postrzegania tego przez Microsoft jako próby otwarcia platformy dla większej liczby programistów, postrzegano to jako przestarzałe oprogramowanie oparte na C # i XAML - co oczywiście nie było, ale nie jest to aż tak dobra historia ... niezależnie od tego niekoniecznie są to aplikacje komputerowe, które według pytania są rodzime.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.