Интегрированная среда разработки
Коллеги , только потрогал стэк разработки HTML, CSS3, JavaScript.
Приблизительно понял , что из себя он представляет по лекциям от Microsoft, которые стали использовать Javascript, точнее библиотеку WinJS, для разработки metro-приложений на windows 8. Захотелось овладеть способами создания web-приложений, не использующих технологии Microsoft. Понятно, что требуются базовые навыки для работы в фронт-енд, понятно, что какая-то часть знаний JavaScript необходима для серверной разработке в node.js. Как программист клиент-серверных приложений .Net и предметно-ориентированных в виде 1С давно привык к подсказке intellisence и хорошей справке, как по используемому языку, так и по среде разработке. Например, если я хочу создавать веб-приложения на платформе node.js и клиентскую часть реализовывать в вышеупомянутом стэке - кстати, даже не знаю, насколько это разумная мысль - есть ли какая-либо среда разработки с более менее проработанной справкой по HTML, CSS3, JavaScript и intellisence. Например, включение c файл контента сакральной :yes: строки <link rel="stylesheet" type="text/css" href="style.css"/> копипастом из другого файла вызывает у меня некоторое уныние, как и необходимость постоянно шастать в интернет за справкой по синтаксису. Погуглил немножко, а потом решил , что разумнее обратиться к сообществу, поскольку в окружении нет веб-разработчиков, то к вам, как мне показалось, одному из авторитетнейших JS-сообществ Runet. Буду благодарен за практические советы. Спасибо ! |
Во-первых, сам язык javascript достаточно сложный, скрывает в себе множество подводных камней, не присущих статически-типизируемым, компилируемым языкам, поэтому, скорее всего, опыт программирования на других языках окажется для вас совершенно бесполезным при переходе на js. Даже простые, всем известные, циклы и условные переходы не так просты, как кажется на первый взгляд. Поэтому, при разработке на js больше внимания следует уделить не синтаксису, а логике программы, в чем intellisence — плохой помощник.
Во-вторых, динамическая природа языка, прототипное наследование, отсутствие типизации на уровне синтаксиса делает невозможным создание хоть сколько-нибудь полезного механизма автодополнения. Представьте, что поля и методы экземпляра класса могут поменяться в процессе работы, или, что переменная this внутри метода класса может быть переопределена вызывающим кодом, что является нормальными практиками в мире js. Однако, не все так плохо. Есть целых три IDE, которые могут хоть чуть-чуть помочь вам в освоении новой платформы: 1. JetBrains WebStorm 2. Aptana Studio 3. Brackets IDE Две последних являются бесплатными. Тем не менее, я все-же рекомендую отказаться от изучения js с нуля, и сосредоточиться на изучении одного из языков, которые компилируются в javascript на сервере, а клиент исполняет только скомпилированный, не предназначенный для чтения человеком код. Это поможет вам не тратить, по моим наблюдениям, 2-3 года жизни только на то, чтобы пройти путь от полного нуля до junior-а в мире javascript, а сразу же после изучения синтаксиса и стандартной библиотеки, писать крупные, масштабируемые проекты, используя один язык, и одни и те же модули на сервере и на клиенте. На этом поле есть много вариантов, из которых мне особо хочется отметить 3 штуки: 1. Google Dart — новый язык, который может как исполняться в DartVM на сервере, так и компилироваться в javascript. Может похвастаться своей IDE на базе эклипса. Из плюсов — compile-time типизация. 2. JetBrains Kotlin — еще один язык, который может быть скомпилирован в javascript. На сервере, kotlin компилируется в Java байткод, т.е. работает внутри Java VM. Из плюсов — совместимость со всем Java-стеком технологий. 3. Microsoft Typescript — еще один компилируемый в javascript язык. Основное отличие от простого javascript-а — поддержка compile-time типизации. Для Visual Studio 2012, 2013 есть плагин, который поддерживает этот язык. |
Цитата:
|
Цитата:
Кроме того, современные браузеры поддерживают SourceMap-ы, так что особой проблемы с дебагом нет. |
Спасибо огромное за развернутый ответ, уже намечается относительная определенность !:)
|
Часовой пояс GMT +3, время: 09:49. |