Мина и семинара, посветен на NetBeans и Swing.
Roman Strobl ни запозна с новостите в NetBeans 6.0, който скоро трябва да стане финална версия до колкото разбрах. С кратка шега лекторът провери колко от физиономиите в залата разбират английския му, след което започна да ни демонстрира самото IDE. Също така наблегна и на факта, че NetBeans не е само едно IDE, а платформа, която можеш да използваш за разработка на свои приложение благодарение на архитектурата и лиценза. За пример даде фотоалбум и приложение, използващо свободните за ползване карти на NASA : “No, that is not Google Maps”, както каза Роман.
След което демонстрира релефа около София и каква е гледката от хотела му. Да, проекта World Wind, включващ картите на NASA, както и предоставеното Java SDK, категорично са в списъка ми ToTest!
Въпросът колко човека в залата ползват NetBeans предизвика реакция само у една шепа хора, което изненада неприятно Роман - в Гърция, по негови думи, около 50% от присъстващите на презентацията ползвали Sun-ското IDE. Докато при нас преобладаваше Eclipse. Това доведе до множество сравнения с Eclipse, запознаване с функционалността “Import Eclipse Project”, готов профил с клавишни комбинации “Еclipse” и т.н.
Един колега от залата предложи въвеждане и на “Export to Eclipse Project”, което много ме озадачи - едвам са хванали хора, що да ги улесняват да мигрират към други?
Но идеята беше добра - ако си в екип, работещ основно с Eclipse, а искаш да разработваш на NetBeans, би било удобно да можете лесно да си прехвърляте проектите. Роман даде идеята да се ползва създаване на проект с Ant скрипт, който Ant скрипт после да се използва за създаване на проект в Eclipse.
Хареса ми, че предлагат различни конфигурации на средата в зависимост от това дали искаш всички опции или ще разработваш само J2SE, C++, Ruby, J2EE, като чистия J2SE вариант е само 21 Мб за сваляне! Може и да го пробвам като редактор за дребни “проектчета” и тестове по време на четене на книги да видим как е. Eclipse не ми е много удобен за това, защото създаването на проект ми идва в повече ако е само един тестов файл. В такива случаи ползвам прост редактор със синтактично оцветяване и компилиране от конзолата.
Също така приятна изненада беше възможността да извадиш някой от прозорците извън главния прозорец на NetBeans-а - за да го завлачиш например на втория си екран. Жалко, че аз си имам само един монитор.
Profiler-ът изглеждаше приятен, Роман демонстрира ползването на “Profiling points” за засичане времето на изпълнение между тях. Наков изрази съжалението си за това, че нямаш опцията да видиш структурата на променлива от съставен тип в малкото прозорче, което се появява като я селектираш. Но залата не му позволи да обвини Eclipse в липсата на тази опция - кой не ползва “Inspect” (Ctrl-Shft-I)! Можеш да правиш и “snapshot” в даден момент, да сравняваш с “snapshot” от минал момент и да виждаш колко памет повече е заета например.
Друг минус, който Наков посочи, е липсата на автоматична компилация само на променените класове по време на редактиране - опцията “Build Automatically” в Eclipse. Роман обясни, че имали голямо желание да включат тази функционалност във версията 6.0, но не смогнали с времето и за това ще трябва да се изчака до следващата версия. Като до тогава се компилира целия проект всеки път. А това е минус при големи проекти, аз поне ползвам нон-стоп автоматичното компилиране.
В общи линии повечето новости в NetBeans, които Роман представяше толкова ентусиазирано, пораждаха у мен леко съжаление към този проект на Sun - ползвам тези опции от години с Eclipse, което значи и че са поизчистени от бъгове. Не видях причина да мина към NetBeans освен може би малката дистрибуция при желание само на J2SE поддръжка.
Тъй като тази лекция се проточи с половин час, втората лекция започна в 20:30. На Мирослав Начев му се наложи да се сблъска с нуждата на много от гостите да се поразтъпчат въпреки желанието на организаторите да пропуснем почивката заради ограниченото време. Минахме към кратко представяне на новите SwingX компоненти - в общи линии преглеждане на примера, даден от Sun. Доволна съм от развитието на компонентите, изглеждаха доста добре и също влизат в ToTest списъка ми.
Все пак правеше впечатление разликата в представянето на NetBeans 6.0 на машината на Мирослав спрямо тази на Роман. Както каза глас от залата : “Сега ще видим как се държи NetBeans в нашенски условия…”
Покрай втората лекция “Rich Client Application example” се поотплеснахме към въпроси от базите данни като политиките на транзакции и заключване, които доведоха до извода, че е добре да има лекция по темата. Стига и някой да се подготви
Нуждата при ползване на JNLP цялото приложение да е подписано от един човек доведе до дискусия на тема дали трябва разработчика му да е подписал и известни широко използвани библиотеки, които е включил - например log4j. Отговора бе - да, трябва да подпишеш всичко! Един от гостите се противопостави на нуждата той да гарантира пред клиента за log4j. Мирослав напомни, че все пак клиента плаща на нас за разработка на приложението, и че в крайна сметка ако ние не вярваме на една библиотека, защо искаме клиента да й вярва? А и тук се намесва отговорността - ти разработваш приложението, трябва да избираш внимателно какви компоненти ползваш.
Когато семинара приключи (около 22:15), моят пакет солети за екстремни ситуации бе отдавна изяден от колегите
Така че с Верчето се хванахме под ръчичка за да не се претрепем нейде в леда, и се отбихме за по една пица в “Торонто” - много са ми вкусни пиците там! След това вече можех да преценя, че съм доволна от това, че дойдох на семинара - да, беше тежък, защото бе след работен ден, до късно, без почивки, но подочух някои новости, за които, предполагам, скоро ще се чува все повече. Колкото до презентацията на NetBeans - била е добавена 3 дни преди семинара след като според Наков Sun научили за събитието и пратили човек. Жалкото бе, че зае най-бодрото време (поне за мен) - първия час и половина. Това се доказва и от асиметричността на тази ми публикация - колкото и да се стараех, концентрацията ми бе ниска след втория час. Но поне направи нещо, за което аз не намерих достатъчно желание - да разгледам тази алтернатива на текущото си IDE Eclipse. Веднъж го инсталирах, но така и не се насилих да го тествам сериозно. Накрая го махнах защото имах нужда от мястото и това е. Неприятно впечатление обаче ми остави скастрянето на дискусиите, които се получи на няколко пъти - предполагам причина бе ограниченото време - минусът на семинарите в работен ден.
А, да! След месец ще има някакво събитие в графа “забавни” - “боксинг” между .NET и Java програмисти. Нещо борбите между платформите не са ми любима тема, но смятам да се отбия в парк-хотел Москва ако имам възможност (съжалявам, не помня точната дата и час в момента).