2012-06-30 30 views
9

Istnieje wiele opcji dla potężnych języków po stronie serwera, ale nie mogę myśleć o silnie napisanych, naprawdę potężnych językach po stronie klienta. JavaScript ma wiele zalet w postaci formularzy, podstawowej matematyki i interakcji z serwerem za pomocą AJAX i innych, ale ma swoje ograniczenia w porównaniu z innymi językami.Zdecydowanie typowane języki po stronie klienta?

Szukam silnie napisanego języka strony klienta zdolnego do przetwarzania obrazu lub chrupania danych, takich surowych rzeczy. Lub jeśli istnieją biblioteki javascript, które pomagają wymuszać typy danych zmiennych, to też może działać.

+5

Masz na myśli statycznie wpisane? –

+0

Myślę, że mówisz o Flash, chociaż HTML5 szybko wkracza ... – McGarnagle

+0

Pisanie statyczne jest krokiem we właściwym kierunku. Flash jest skompilowany i wymaga wtyczek i wydaje się być w drodze. –

Odpowiedz

5

W przeglądarce miarę silne typowanie idzie masz Javy z GWT (statyczne), Python (dynamiczny) z Pyjamas, Dart, Opa (statyczny) i kilka języków, które mogą przekroczyć skompilować do JavaScript z LLVM (C, C++, Objective C, Java, Ada i wiele innych) dzięki emscripten.

Pod względem wydajności można spojrzeć na Google Native Client i Javascript typed arrays.

Osobiście uważam, że Opa jest dziś jednym z najbardziej interesujących języków internetowych.

2

Haxe jest językiem statycznie pisanym, który kompiluje się w różnych środowiskach po stronie klienta, np. JavaScript lub Flash.

+0

Ugh, flash ... Ale z javascript jako opcja sprawdzę to. –

1

TypeScript, Flow i Dart mają opcjonalne pisanie statyczne. TypeScript to nadzbiór JavaScript (możesz opisywać istniejące biblioteki informacjami o typie); Dart jest oddzielnym językiem, który jest dostarczany wraz z rosnącą wersją standard library.

+0

Dart nie ma statycznego wpisywania jako opcji. Możesz pisać typy, ale będą one miały znaczenie tylko dla ciebie i IDE, kiedy VM usunie je jako komentarze. –

1

Możesz chcieć rzucić okiem na ST-JS. To narzędzie pozwala pisać javascript, ale pożycza składnię i statyczne pisanie java. Narzędzia udostępniają szereg interfejsów i klas Java, które dokładnie odzwierciedlają standardową bibliotekę javascript oraz kilka innych popularnych bibliotek (DOM, jquery itp.). Następnie możesz napisać swój kod źródłowy w języku Java, a translator ST-JS przekształci ten kod ze statycznym typem w zwykły (najbardziej czytelny) kod javascript. ST-JS jest również kompatybilny z każdą inną biblioteką JavaScript, z której chciałbyś korzystać, o ile napiszesz odpowiednie interfejsy java.

Kolejną zaletą ST-JS jest to, że od pisania kodu java można używać wszystkich naprawdę potężnych narzędzi z ekosystemu java. Narzędzia do refaktoryzacji we wszystkich IDE będą działać po wyjęciu z pudełka. Narzędzia do analizy statycznej, takie jak Findbugs, PWD, checkstyle również działają świetnie i są bardzo dokładne w kodzie ST-JS.

Możesz myśleć o ST-JS jako o czymś pośrodku pomiędzy GWT (całkowicie ukrywa przed sobą standardowe biblioteki javascript i uniemożliwia korzystanie z zewnętrznych bibliotek) i niektórych narzędzi do statycznej analizy javascript, takich jak JSLint.

+0

to tylko transpiler. –