Dobre zasoby i narzędzia do nowoczesnego, intensywnego programowania JavaScript? [Zamknięte]


22

Jestem zainteresowany wykonywaniem niektórych projektów, które wymagają intensywnego użycia JavaScript. Mianowicie gry na płótnie oparte na HTML5, również potencjalnie wykorzystujące node.js. Jestem zainteresowany nauką nowoczesnych najlepszych praktyk, narzędzi i zasobów dla JavaScript.

JavaScript jest trudny do zbadania, ponieważ kończysz branie przez wiele naprawdę przestarzałych materiałów, pochodzących z czasów, gdy „JavaScript” był czteroliterowym słowem.

Jeśli jesteś mocno zaangażowany w programowanie JavaScript ...

  • Jakiego edytora tekstu lub IDE używasz?
  • Z jakich ram testowania jednostkowego korzystasz?
  • Czy używasz selenu, czy czegoś innego?
  • Z jakich innych narzędzi korzystasz?
  • Jakie społeczności istnieją, które omawiają najnowsze osiągnięcia w JavaScript?
  • Do jakich książek czytasz / odnosisz się?
  • Jakie blogi czytasz?


Kilka świetnych blogów, które przeczytałem: dailyjs.com - Kilka świetnych postów dotyczących nowych bibliotek i frameworków na arenie JS, ze szczególnym naciskiem na Node.js. perfectionkills.com - Niezbyt często aktualizowany, ale kiedy Kangax pisze artykuł, idzie naprawdę głęboko, zdasz sobie sprawę, ile JS nie znasz.
Matt Molnar,

Edytor WWW Adobe Brackets : github.com/adobe/brackets - napisany głównie w javascript przy użyciu osadzonego szkieletu chromowego. Również ciekawy artykuł o tym, jak zbudowali ten edytor nawiasów
Czarek Tomczak

Wow, to pytanie może użyć aktualizacji.
Erik Reppen

Odpowiedzi:


19

Moja lista będzie:

Książki są przestarzałe, gdy tylko trafią na półki (zazwyczaj).


7
Do tego dodam również centrum dokumentacji mozilla w sekcji referencyjnej.
Trezoid

2
+1, to właściwie moja lista, ale dodałbym też YUI Compressor (lub kompilator Google'a).
Demian Brecht

Pagespeed jest także dobrym rozwiązaniem dla opcji „Javascript Deferrable Javascript”. Nie tylko narzędzie do kodowania JS, ale nadal bardzo przydatne.
Ed James

2
@RDL - jakich, jeśli używasz wtyczek javascript dla vima?
Mike H

Zauważam, że nie polecono tu żadnych narzędzi / platform do testowania jednostek, pomimo tego, że były tak wysoko uprzywilejowane ...
NT3RP

9

Jakiego edytora tekstu lub IDE używasz?

Wszystkie obsługują pełne funkcje programowania aplikacji internetowych (javascript, HTML, CSS itp.). Wybierz Aptana, jeśli szukasz darmowego rozwiązania.

Z jakich ram testowania jednostkowego korzystasz?

  • Selen

    1. Ma obsługę wielu przeglądarek [IE, Firefox, Chrome, Safari, Opera i Konqueror] na wielu platformach [Windows, Linux, Macintosh itp.].
    2. Obsługa wielu języków programowania do pisania przypadków testowych [HTML, Java, C #, Perl, PHP, Python, Ruby itp.].
    3. Zdalne wykonanie (przypadki testowe znajdują się na jednym komputerze, a wykonanie w przeglądarce może odbywać się na innym komputerze).
    4. Możesz uruchomić regresje nawet w trybie zminimalizowanym w przeglądarce

Z jakich innych narzędzi korzystasz?

  • Firebug, IE Dev Tool Bar itp., Wbudowane narzędzia przeglądarki do debugowania
  • Możesz użyć niektórych struktur bibliotek interfejsu użytkownika, takich jak JQuery, YUI, ExtJS itp. Do szybkiego opracowania.
  • Fiddler / HTTP Obserwuj debugowanie żądania HTTP i odpowiedzi.
  • JSLint, aby zweryfikować niektóre problemy ze składnią javascript.
  • YUICompressor do minimalizacji kodu HTML, CSS i JavaScript.
  • DynaTrace / YSlow / Page Speed ​​- do testowania wydajności
  • SIEve do wykrywania wycieków pamięci
  • IE Tester do testowania aplikacji na różnych wersjach IE.

Do jakich książek czytasz / odnosisz się?

Więcej


1
Selenium to narzędzie do testowania integracji, a nie testowania jednostkowego! Reszta tego jest jednak moim zdaniem bardzo ważna: D
Ed James

1
jQuery to biblioteka o wiele więcej niż interfejs użytkownika, jQueryUI to zupełnie osobna biblioteka.
StuperUser

@StuperUser kłamie. jQuery to biblioteka do manipulacji DOM, wszystko inne wykorzystuje ją jako duży młotek i „złote narzędzie, które rozwiązuje wszystkie problemy”
Raynos

@Raynos, jQuery jest dużym młotem, gdy jest używany do manipulacji DOM, gdy JavaScript. Z pewnością zyskał status mema ze względu na swoją reputację jako panaceum. Jak obaj powiedzieliśmy, nazywanie go „biblioteką interfejsu użytkownika” jest niedokładne.
StuperUser

@StuperUser: Przypuszczam, że naprawdę miał na myśli interfejs użytkownika jQuery
Lie Ryan

6

Nadal uważam, że narzędzia dostępne do poważnego programowania JavaScript są daleko w tyle, gdzie powinny być, ale oto kilka z nich, których używam.

  • Do programowania używam VIM, ale możesz znaleźć netbeans, które warto wypróbować.
  • Do testowania jednostkowego jaśmin jest dobry, ale nie idealny.
  • EnvJs może dać ci dobry sposób na przeprowadzenie testów jednostkowych w wierszu poleceń
  • Bardzo polecam część selenu 2 dla webdriverów
  • Pełny pakiet zamykający google jest bardzo przydatny
  • Polecam również, abyś wiedział, jak używać Google Chrome i IE do debugowania obok firebuga, ponieważ wszystkie mają swoje osobliwości, które mogą wysyłać cię w dół wszelkiego rodzaju ślepych uliczek.
  • Istnieje kilka doskonałych bibliotek JavaScript, które są prawie niezbędne do poważnego rozwoju. Polecam zacząć od jQuery, ale jest wiele innych, które są równie dobre.
  • także autor jQuery, John Resig, ma przydatnego bloga

to samo pytanie, jakie właśnie zadałem dla RDL: jakich (jeśli w ogóle) wtyczek vim używasz do javascript?
Mike H

@Mike Nie używam żadnych wtyczek specyficznych dla javascript dla vima. Polecam jsctags które integrują się z jakichkolwiek wtyczek, które używają Ctags np taglist-plus
Duncan Grant

5

Cóż ... chociaż jeszcze nie wszystko, jestem obecnie głównym programistą nowego wieloplatformowego projektu open source:

JS Studio

Oto zrzut ekranu:

Niektóre funkcje są bardziej kompletne niż inne ... ale oto zamierzone cele:

  • Podświetlanie składni (prawie kompletne)
  • Organizacja projektu (częściowo zrealizowana)
  • Autouzupełnianie (w tym uzupełnianie popularnych frameworków JS, takich jak jQuery itp.)
  • Kompiluj system (do łączenia plików, minimalizacji itp.)
  • Rozszerzalny interfejs GUI (poprzez rozszerzenia JavaScript)
  • Numeracja linii (w pewnym sensie kompletna), zawijanie wyrazów, konfigurowalne kolory do podświetlania składni

Skonfigurowałem codzienne wersje dla systemu Windows, a najnowszą wersję można znaleźć tutaj: http://files.quickmediasolutions.com/jsstudio/


To wygląda interesująco. Szukałem dobrego IDE JavaScript. Czy jest jakiś plik binarny, który można pobrać? Nie widziałem żadnej na stronie internetowej.
Jonas

@Jonas: Niestety, na tym wczesnym etapie istnieje tylko plik binarny dla Ubuntu. Ale mam nadzieję, że będę miał czas na utworzenie pliku binarnego Windows w dalszej części drogi.
Nathan Osman

@Jonas: Bardzo wczesne budowanie systemu Windows tutaj - niektóre rzeczy jeszcze nie działają, ale możesz przynajmniej otworzyć / zapisać pliki i kilka innych rzeczy.
Nathan Osman,

jakieś nowe osiągnięcia w tej dziedzinie?
Noctis

@Noctis: Niestety nie. Wpadłem na pewne komplikacje związane z implementacją uzupełniania kodu i projekt zasadniczo pozostawał bezczynny przez ostatni rok lub dwa.
Nathan Osman,

4

W kategorii „inne narzędzia” używam CoffeeScript (języka, który kompiluje się w JavaScript), ponieważ usuwa ból, który nakłada na mnie składnia JavaScript.

list.sort (a, b) -> a.isSmaller(b)

przeciw

list.sort(function(a, b) { return a.isSmaller(b) });

Można się spierać, technicznie rzecz biorąc, nie jest to już javascript, ale „poczucie” ekspresu do kawy polega na tym, że jest to tylko cienka warstwa.


3

API dla biblioteki jQuery http://api.jquery.com/ oraz dobrze zaznaczona kopia jQuery w akcji . Przeczytaj go od deski do deski, a następnie śledź http://twitter.com/jquery, aby uzyskać aktualizacje w nowych wersjach.

Powiedziałeś, że książki stają się nieaktualne, ale musisz zdobyć podstawowy poziom wiedzy, aby móc je wykorzystać, a kiedy będziesz na bieżąco, bądź na bieżąco.

Qunit do testowania jednostkowego i Firebug oraz wyróżnienie składni JavaScript dla Firebug do debugowania.



0

Mam nadzieję, że nie zostaniesz do tego zbytnio podpalony, ale jeśli takie rzeczy jak IDE i narzędzia są dla Ciebie ważne, zdecydowanie zalecamy zapoznanie się z Google Web Toolkit . Piszesz swój kod w Javie w Eclipse, co naprawdę pomaga w pisaniu kodu. Zapewnia wysoce skuteczne uzupełnianie kodu, refaktoryzację narzędzi oraz pomaga w debugowaniu i nawigacji w bazie kodu.

Nadal możesz przejść do surowego Javascript, kiedy potrzebujesz.

Twój kod jest następnie kompilowany w zoptymalizowany, zminimalizowany JS. Z powodzeniem zastosowałem to podejście w środowisku DOMless JS podobnym do node.js.

W przypadku gier HTML5 sprawdź PlayN, która jest biblioteką, która korzysta właśnie z GWT.


Jeśli mimo wszystko zamierzasz skompilować do JavaScript z innego języka, istnieje wiele możliwości wyboru - wcale nie musisz używać Java! Na przykład używamy js_of_ocaml w pracy, więc możemy napisać nasz kod w OCaml i uruchomić go w przeglądarce.
Tikhon Jelvis

0

Dużo rozwijam JavaScript. Wiele z nich jest wymienionych, ale oto, czego używam:

  • Notepad ++
  • Firebug
  • Debuger IE (F12) i debugger Chrome (F12 w systemie Windows)
  • Używam przepełnienia stosu głównie do pytań. Przyjazd tutaj okazał się również pomocny.
  • Pierwszą książką, której użyłem, był JavaScript: przewodnik definitywny, kiedy. Obecnie nie używam książek tak często, jak stron internetowych takich jak MDN lub MSDN.
  • Używamy trochę jQuery w miejscach, w których również to ułatwia nam życie.
  • Do testów jednostkowych budujemy własne wiązki testowe.

0

Mogę polecić biuletyn w języku JavaScript . Jego

Bezpłatny, raz w tygodniu e-mailowy przegląd wiadomości i artykułów JavaScript.

Nie czytałem książek Johna Resiga, ale słyszałem i czytałem dobre opinie. Jego nowa książka Secrets of the JavaScript Ninja zostanie wkrótce opublikowana.


Czy ktoś może wyjaśnić opinię negatywną?
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.