CO TO JEST JAVA?
Java to język programowania ogólnego przeznaczenia zaprojektowany z myślą o jednej mantrze — „
napisz raz, uruchom gdziekolwiek ”. Aplikacje Java są kompilowane do kodu bajtowego, który można uruchamiać w implementacjach
Java Virtual Machine (JVM). JVM pomaga wypełnić lukę między kodem źródłowym a jedynkami i zerami, które komputer rozumie. Na każdej maszynie z zainstalowaną maszyną JVM można uruchomić Javę. W tworzeniu stron internetowych Java jest najbardziej widoczna jako język po stronie serwera i język programowania z wyboru dla aplikacji mobilnych na platformę Android. Nadal ma również przyzwoitą obecność na froncie jako aplet Java, chociaż wypada to z łask ze względów bezpieczeństwa.
CZYM JEST JAVASCRIPT?
Obok HTML i CSS, JavaScript (standaryzowany jako ECMAScript) jest uważany za jeden z trzech głównych elementów sieci. Używany przez większość stron internetowych, JavaScript jest językiem skryptowym, który zwykle działa w przeglądarce i sprawia, że strony internetowe są dynamiczne i interaktywne. Obecnie JavaScript szybko rozwija się jako technologia po stronie serwera od czasu wydania Node.js w 2009 roku.
JAVA VS. JAVASCRIPT: GŁÓWNE PODOBIEŃSTWA
Choć są różne, istnieją pewne podobieństwa na najwyższym poziomie, które warto wziąć pod uwagę, zwłaszcza jeśli patrzysz na tworzenie stron internetowych, porównując Javę z JavaScript.
Programowanie obiektowe (OOP) . Oba języki wymagają od programisty kodowania pod względem obiektów i ich wzajemnych relacji. Co za tym idzie, daje to obu językom dostęp do technik, takich jak dziedziczenie, enkapsulacja i polimorfizm.
Rozwój front-endu . Oba języki mogą być używane w aspektach rozwoju front-endu. JavaScript można osadzić bezpośrednio w HTML, zaimplementować jako framework lub bibliotekę; Java może być używana jako aplet Java.
Rozwój zaplecza. Oba języki mogą być używane po stronie serwera. Java jest od dawna używana do zasilania technologii zaplecza, takich jak Apache, JBoss i WebSphere. Node.js stał się platformą startową dla serwerów opartych na JavaScript
JAVA VS. JAVASCRIPT: GŁÓWNE RÓŻNICE
Należy pamiętać, że języki Java i JavaScript zostały opracowane do zupełnie innych celów. Java została zaprojektowana jako język programowania ogólnego przeznaczenia do tworzenia samodzielnych aplikacji, podczas gdy JavaScript jest językiem skryptowym stworzonym specjalnie do łączenia się z technologiami internetowymi, a mianowicie HTML. Kiedy w 1991 roku firma Sun wypuściła język Java, początkowo była używana do programowania elektroniki użytkowej, takiej jak magnetowidy. JavaScript został wprowadzony do użytku z Javą jako język skryptowy po stronie klienta, który mógł działać w przeglądarce bez konieczności kompilacji. Przyjrzyjmy się bliżej niektórym głównym różnicom między tymi dwoma językami.
Skompilowane a zinterpretowane.Java jest uważana za skompilowany język programowania. JavaScript jest uważany za interpretowany język skryptowy. Różnica polega na implementacji: Java jest kompilowana do kodu bajtowego i uruchamiana na maszynie wirtualnej, podczas gdy JavaScript może być interpretowany bezpośrednio przez przeglądarkę w składni, w której jest napisany (chociaż w praktyce jest to zwykle zminimalizowane).
Statyczne a dynamiczne sprawdzanie typów. Java używa statycznego sprawdzania typu, w którym typ zmiennej jest sprawdzany w czasie kompilacji. Programista musi określić typ (integer, double, string itp.) dowolnej zmiennej, którą tworzy. JavaScript, podobnie jak większość języków skryptowych, wykorzystuje typowanie dynamiczne, w którym bezpieczeństwo typów jest weryfikowane w czasie wykonywania. Programista nie musi określać typu tworzonej przez siebie zmiennej. Istnieje wiele zalet i wad tych dwóch paradygmatów, ale podstawową zaletą statycznego sprawdzania typów jest to, że błędy typu są wychwytywane na wczesnym etapie programowania, a ponieważ kompilator dokładnie wie, jakie typy danych są używane, kod zwykle wykonuje się szybciej lub zużywa mniej pamięci . Podstawową zaletą dynamicznego sprawdzania typów jest produktywność programisty — możesz dowolnie przypisywać typy.
Konkurencja. Zdolność do obsługi wykonywania kilku sekwencji instrukcji w tym samym czasie jest obsługiwana bardzo różnie w Javie i JavaScript. Java wykorzystuje wiele wątków do wykonywania zadań równolegle. JavaScript, w szczególności w postaci Node.js w aplikacjach po stronie serwera, obsługuje współbieżność w jednym głównym wątku wykonania za pośrednictwem systemu kolejek zwanego pętlą zdarzeń oraz systemu rozwidlenia zwanego Node Clustering. W większości przypadków użycia obie metody działają dobrze, ale Java jest generalnie szybsza, ponieważ wątek do bezwątkowego-Basedaring jest znacznie szybszy niż komunikacja międzyprocesowa (IPC).
Oparte na klasach a oparte na prototypach. Java stosuje dziedziczenie oparte na klasach — odgórną, hierarchiczną, opartą na klasach relację, w której właściwości są definiowane w klasie i dziedziczone przez instancję tej klasy (jednego z jej członków). W JavaScript dziedziczenie jest prototypowe — wszystkie obiekty mogą dziedziczyć bezpośrednio po innych obiektach. Hierarchia jest realizowana w JavaScript poprzez przypisanie obiektu jako prototypu z funkcją konstruktora.
CZY NALEŻY UŻYWAĆ JAVASCRIPT CZY JAVA W MOIM NASTĘPNYM PROJEKCIE?
Tak jak w przypadku wszystkich języków, wybór naprawdę sprowadza się do tego, co próbujesz zbudować i jakimi zasobami dysponujesz. JavaScript jest nadal technologią internetową, podczas gdy Java jest językiem ogólnego przeznaczenia, w którym można zbudować wszystko.
Powinieneś rozważyć Javę, jeśli Twój projekt obejmuje…
- Aplikacje Android
- Oprogramowanie firmowe
- Obliczenia naukowe
- Analiza dużych zbiorów danych
- Programowanie sprzętu ogólnego przeznaczenia
- Technologie po stronie serwera, takie jak Apache, JBoss, Geronimo, GlassFish itp.
Powinieneś rozważyć JavaScript, jeśli Twój projekt obejmuje…
- Dynamiczne aplikacje jednostronicowe (SPA)
- Technologie Front-End takie jak jQuery, AngularJS, Backbone.js, Ember.js, ReactJS itp.
- Technologie po stronie serwera, takie jak Node.js, MongoDB, Express.js itp.
- Tworzenie aplikacji mobilnych przez PhoneGap, React Native itp.
- Pamiętaj, że żadna z list nie jest obszerna, są one jedynie punktem wyjścia, aby pomóc Ci zorientować się, czego możesz się spodziewać i jakich słów kluczowych możesz użyć, aby ocenić najlepszy język dla swoich potrzeb
GO TO FULL VERSION