Sergiy Shychynov (Sergei Shichinov) Kiev, Ukraine Flex/JavaScript blog (JavaScript, Flex, ActionScript, AS3, AIR) | http://www.linkedin.com/in/shichinov | http://shichinov.moikrug.ru

Monday, January 21, 2013

Early Access Program for JetBrains WebStorm 6

WebStorm is the IDE for JavaScript and web developers. Current release version is 5.0.4. But there is Early Access Program for the next version of the product:

http://confluence.jetbrains.net/display/WI/WebStorm+6+EAP

It works one month after installation (but there will be another EAP version after that months... until it is released).

Sunday, January 20, 2013

Jangaroo - JavaScript programming "in the large"

Jangaroo is an Open Source project building developer tools that adopt the power of ActionScript 3 (like packages, classes and inheritance, interfaces, private members, and many more) to create high-quality JavaScript frameworks and applications.

It's a big brother of CoffeeScript, Dart, TypeScript and so on

CoffeeScript: http://coffeescript.org
Dart: http://www.dartlang.org
TypeScript: http://www.typescriptlang.org

Thursday, January 17, 2013

Recommended books and links for MongoDB learners (including Russian)

MongoDB (from "humongous") is a document-oriented (JSON-style documents) NoSQL database written in C++ and using JavaScript for internal purposes.
http://www.mongodb.org

MongoDB can:
  • be used by clients written in Javascript;
  • uses Javascript internally server-side for certain options such as map/reduce;
  • has a shell that is based on Javascript for administrative purposes;
  • officially supports JavaScript based Node.js server
Permanent online courses from 10gen
https://education.10gen.com/courses

Имеется частично русифицированная документация
http://ru.wiki.mongodb.org/display/DOCS/Home

Маленькая книга о MongoDB от Karl Seguin:
http://jsman.ru/mongo-book/index.html

The Little MongoDB Book, Karl Seguin:
https://github.com/jsmarkus/the-little-mongodb-book

MongoDB в действии - Кайл Бэнкер, издательство Manning, декабрь 2011
MongoDB in Action - Kyle Banker http://www.manning.com/banker/
Перед покупкой можно ознакомиться тут .

Monday, January 14, 2013

Eclipse for JavaScript Web Developers

Каждому, кто решил заняться JavaScript-ом после нескольких лет работы в Eclipse, может показаться вполне логичным и естественным продолжить и дальше работать в Eclipse и использвать JSDT (JavaScript Development Tools).

JSDT (JavaScript Development Tools)

- это плагин для JavaScript разработки, базирующийся на JDT (Java Development Tools) - "главном" эклипсовом плагине для разработки Java.

Идея была в том, чтобы не писать плагин для джавсаскрипта "с нуля", а вместо этого - закастомайзить мощный эклипсовый Java-плагин для написания JavaScript. Идея хороша, но так как Java - это язык со строгой типизацией, а JavaScript - нет, то это вызвало определенные трудности и наложило определенные ограничения.
http://wiki.eclipse.org/JSDT

JSDT являтеся частью WTP (Web Tools Platform Source Editing) проекта. И может быть поставлен дополнительно к вашей текущей версии Eclipse. На данный момент последняя версия WTP 3.4.1 от 17 Sep 2012.
http://www.eclipse.org/webtools

Но если вы решили ставить эклипс для джаваскрипта «с нуля» – то лучше воспользоваться инсталляцией, которая уже содержит WTP. Лучше всего было бы поставить «Eclipse for JavaScript Web Developers». Но для последней версии Eclipse 4.2.1 (Juno) такой сборки нет и поэтому можно взять Eclipse IDE for Java EE Developers.
http://www.eclipse.org/downloads

Апологетику и ценные советы по использованию Eclipse для JavaScript разработки можно найти в статьях Сергея Чикуёнка. Статьи от 20 июля 2011 года, но это лучшее по данной теме что я смог найти в начеле 2013 ;-)
http://chikuyonok.ru/2011/07/eclipse-webdev1
http://chikuyonok.ru/2011/07/eclipse-webdev2

Отладка JavaScript в Eclipse

Пошаговую отладку JavaScript из Eclipse удалось запустить используюя Crossfire. https://github.com/mrennie/crossfire/wiki
Вкратце это выглядит так:
  • Для запуска ActionScript скриптов используется Firefox,
  • В нем должен быть инсталлирован и активирован Firebug
  • Должен быть так же инсталлирован плагин Crossfire, и активирован в режиме «сервера» - в этом случае он будет собирать всю необходимую отладочную информацию из Firebug, и передавать ее в формате JSON debug-клиенту.
  • В нашем случае debug-клиентом будет JSDT-debug плагин в Eclipse, который и будет красиво отрисовывать всю отладочную информацию в эклипсе: все точки оставнова, объекты и значения переменных.
Сrossfire
https://github.com/mrennie/crossfire/wiki / https://getfirebug.com/releases/crossfire
Firefox с работающим в режиме сервера crossfire лучше запускать в отдельном профиле:
- Тут мы создадим профиль crossfire-server :
firefox -no-remote -ProfileManager
 - А потом мы его будем запускать как-то так:  
firefox -profile crossfire-server -crossfire-server-port 5000 -no-remote
 
Можно также активировать crossfire из firefox-а вручную.
FBTrace
FBTrace может понадобиться чтобы убедиться в том что сrossfire работает https://getfirebug.com/wiki/index.php/FBTrace / https://getfirebug.com/releases/fbtrace

Описанные в документрации пункты меню я так и не нашел, но удалось установить флажком extensions.firebug.alwaysOpenTraceConsole

 Самое главное - нужно помнить, что отладка будет подхватываться только когда firebug отладка активирована на открываемой в firefox страничке (и при этом crossfire тоже должен быть включен в режиме сервера)!

Дополнительные плагины

В дополнение к JSDT я сразу накатил несколько плагинов:
  • Поддeржка JSDT jQuery 1.5: https://svn.codespot.com/a/eclipselabs.org/jsdt-jquery/updatesite
  • Emmet (бывший Zen coding): http://emmet.io/eclipse/updates
  • Subclipse (если вы пользуетесь SVN): http://subclipse.tigris.org/update_1.8.x
  • AnyEdit (несколько полезных текстовых функций и «удалитель табуляций») http://andrei.gmxhome.de/eclipse

Emmet (Zen Coding)

Подробнее об использовании Emmet (Zen Coding) http://docs.emmet.io

Отладка в Firebug jQuery страничек

Еще наткнулся на интересный плагин к Firefox для отладки в Firebug jQuery страничек: http://firequery.binaryage.com/
Выводы
В общем и целом разработку и отладку JavaScript в Eclipse вести можно. Но все равно - ощущения "счастья" не возникает - все как-то слишком громоздко, подглючивает и подтормаживает (особенно когда дело касается отладки через Crossfire). Возникло желание попробовать чуть более платные IDE для разработки - например JetBrains WebStorm: http://www.jetbrains.com/webstorm
 
Кстати, если вы пользуетесь (или планируете использовать) JetBrains IntelliJ IDEA, то имейте в виду, что в платной версии IDEA есть все средства для разработки JavaScript/HTML5 - то есть всё, что есть в WebStorm. http://www.jetbrains.com/idea

А кроме того в платной версии IDEA есть также средства для разработки на Flex/ActionScript. http://www.jetbrains.com/idea/features/flex_ide.html

ИМХО - есть смысл сразу купить JetBrains IntelliJ IDEA, особенно если будет хорошая скидка, и не париться в дальнейшем. А там глядишь - может и Java придется программировать ;-)

Sunday, January 13, 2013

JavaScript books and links in Russian

Recommended books and links for JavaScript learners in Russian. There is a great deal of recommended links and books for JavaScript beginners.


The following is our shortrned list. Most of them are accessible in Russian:
  • David Flanagan — JavaScript: Definitive Guide — Подробное руководство 2012
  • Dmitry Soshnikov — серия статей по ECMA-262-3 на русском и english dmitrysoshnikov.com
  • Douglas Crockford — JavaScript: The Good Parts 2008 (2012 на русском с ошибками)
  • John Resig — Pro JavaScript Techniques by John Resig
  • Addy Osmani — Learning JavaScript Design Patterns — доступны свободно на GitHub но мне больше нравятся Early Release от O'Reilli
  • Stoyan Stefanov — JavaScript Patterns 2010
  • Nicholas C. Zakas — Professional JavaScript for Web Developers, 3rd Edition 2012
You can preview the book before you buy it https://www.dropbox.com/sh/wvhqwwoxq1nfynx/2GZYVn-MMb/jsbooks

And that is the most usefull JavaScript resources:

NoSQL - MongoDB for Developers courses from 10gen

The next free «M101P: MongoDB for Developers» course will start at Jan 21, 2013
education.10gen.com/courses/10gen/M101P/2013_Spring/about This FREE course will go over basic installation, JSON, schema design, querying, insertion of data, indexing and working with language drivers. We will also cover working in sharded and replicated environments. In the course, you will build a blogging platform, backed by MongoDB.

Despite code examples will be given in Python, I believe it will extremely useful for javascript developers too. But brief Python introduction is included in the course.

Read more about NoSQL en.wikipedia.org/wiki/NoSQL
You can also read feedback on that course habrahabr.ru/post/162603

Saturday, January 12, 2013

JetBrains IntelliJ IDEA fully supports Flex development

JetBrains IntelliJ IDEA fully supports Flex development. If you have plans to develop with Apache Flex it would be one more reason to pay attention to this IDE. Do you know that JetBrains fully supports Flex development in their «all-in-one» product IntelliJ IDEA www.jetbrains.com/idea/features/flex_ide.html

At the beginning of 2012 JetBrains Astella (which was intended to support Flex-related technologies) was merged into IntelliJ IDEA blog.jetbrains.com/astella and now «IntelliJ IDEA» seems to be the most attractive IDE not only for Java developers but for front-end developers as well.

If you have plans to develop with Apache Flex incubator.apache.org/flex it would be one more reason to pay attention to this IDE.

JetBrains released an updated version of IntelliJ, bringing in additional support for mobile workflows and deployment. IntelliJ IDEA 12.0 has excellent support for ActionScript and Flex. www.jetbrains.com/idea

PS: And I am really disappointed they didn't include support for Flex and Action Script in Web Storm, which I've bought a week before for only 12.25$ ;-)

«Apache Flex» is here now

«Apache Flex» has become official Top-Level Project of Apache Software Foundation and Apache Flex 4.9.0 has released.



As you maybe know «Apache Flex» has become official Top-Level Project of Apache Foundation:
“On 12/19/2012 the Apache Software Foundation Board has voted this project in as a TLP (Top-Level Project). We will now be known as the Apache Flex project.”

I have proposed to add a new skill to EPAM UPSA :-) - «Apache Flex».
http://flex.apache.org

But it seems that people in EPAM CTO will never understand the difference between Adobe and Apache ;-)

The Apache Flex team has also announced the release of Apache Flex 4.9.0. This was the first release since becoming a top level project of the Apache Software Foundation, and was released on 12/27/2012.

How to download and how to develop with Flex SDK 2?

Answer: download «Flex SDK 2» from www.adobe.com/support/flex/ts/documents/flex2_hf2/flex_sdk_2_Hotfix3.zip and develop using "Flex Builder 3". Flex SDK 2 is also included in «Flex Builder 3».

Some time ago I faced the strange challenge:
I had to make some improvements in customer's legacy code which was developed using obsolete Flex SDK 2. I started searching link to download that SDK in the Internet and it was the real problem to do it from my Windows workstation or notebook. All links was broken or, at the final stage, redirected me to the try & buy page of the recent Adobe Flash Builder 4.7. E.g. labs.adobe.com/technologies/flex/sdk/flex2sdk.html

The only indiret way to acquire it was — to download obsolete «Flex Builder 3 Plugin» for Eclipse and to install it on obsolete version of Eclipse (no later than 3.4 is acceptable ;-)
And after that, thank heaven, I was able to grab Flex SDK 2 from that installation. Actually «Flex Builder 3» is the latest IDE from Adobe which support developing using Flex SDK 2.

But today I've hound the easier way to do it. I have direct link! That link was obtained using link I've noticed above — in case you try to open it on Apple computer — Adobe do not redirect you to modern Flash Builder 4.7 «try&buy» page — but just allows you to get exactly what you want: Flex SDK 2 :-) Thank you Stas.
www.adobe.com/support/flex/ts/documents/flex2_hf2/flex_sdk_2_Hotfix3.zip

And final warning: There were three versions of Flex SDK 2: original, hotfix 2 and hotfix 3. Use only «Flex SDK 2 hotfix 3»!
It took me more than 2 working days to guess, that customer provided me with original «Flex SDK 2» which had the serious problem with SOAP WebSrvices requests encoding.

Followers