Категорија: Java

Collide – колаборативно веб IDE од Гугл

На 5ти Јули еден од скоро-бившите развивачи во Гугл соопштија дека работеле на проект – веб базиран уредувач на текст (код) кој ја дава можноста истиот тој истовремено да може да се уредува од повеќе луѓе. Oдлучиле да го објават кодот под отворена лиценца поради икс причини и еве не нас тука.

Овие прилики, јас ги искористувам да го ѕирнам кодот и да видам на кои технологии е базиран проектот и на кој начин ги искористиле при имплементација.

Collide е интересен поради неколку причини:

  • Користи Vert.x – што е нов проект, нешто како JVM одговор на Node.js. Може нормално во Java да се работи со него, бидејќи во Java e напишан, но може и во JavaScript, Ruby и Groovy. Vert.x е спонзориран од VMware – кои се меѓу другото и сопственици на SpringSource што значи дека има сериозна поддршка. Ја следам нивната мелинг листа и можам да речам дека има доста жив и конструктивен развој и би го искористил во некоја соодветна прилика во иднина;
  • Користи Wave – ако се сеќавате Гугл откако го `убија` Wave го објавија под отворен код и предадода на Apache фондацијата и претпоставувам дека има каков-таков развој;
  • Користи Netty – благодарение на Vert.x, што е исто уште еден кул Java проект, за комуникација на мрежно ниво, кој и Twitter го користи;
  • Користи CodeMirror – JavaScript библиотека за градење на веб базиран едитор;
  • Секако, како кај многу проекти од Google, користи Ant, Guava и GWT;
  • И, користи Java 7 :)

Доаѓа со мала документација како да се стартува апликацијата, како да се избилда проектот и отвори во Eclipse и слично.

Го пишав ова само за да ве поттикнам да го правите истото. За било која технологија и програмски јазик има проекти со отворен код кои решаваат проблеми на квалитетен начини – можете да ги превземете и да научите нешто од нив.

За крај една галерија со скриншотови од апликацијата (многу личи на новиот дизајн на Google сервисите во css-от). Ништо специјално не тестирав, само ја пробав дали работи со некои основни сценарија :)

Модерни Rich Client Platform апликации

Прво кратки но неопходни чекори што е потребно за да може да се развиваат RCP (што е RCP?) апликации базирани на новиот Eclipse со помош на Maven.

  1. Превземете го најновиот Eclipse 4 Classic (во моментов верзија 4.2 M6, од http://www.eclipse.org/downloads/index-developer.php)
  2. Стартувајте го и инсталирајте ги следните плагини во него:
    1. m2e плагинот (од http://download.eclipse.org/technology/m2e/releases)
    2. m2e-tycho плагинот (од http://repository.sonatype.org/content/repositories/forge-sites/m2eclipse-tycho/0.6.0/N/0.6.0.201202131819/)
    3. Eclipse e4 Tools и E4 CSS Spy плагините (од e4 http://download.eclipse.org/e4/downloads/drops/S-0.12M7-201205032200/repository/ – другите плагини понудени од оваа локација не ги инсталирајте)
  3. После инсталацијата на плагините рестартирајте го Eclipse.

Забелешка: Кога ќе биде објавена конечната верзија од Eclipse 4 локациите до плагините сигурно ќе претрпат промени.

Следно линкови до туторијали:

  1. Building Eclipse plugins and RCP applications with Tycho – во блог постот има линк до презентација на Slideshare и до GitHub проект сo кодот кој е работен на Workshop-от по кој одела презентацијата. Во кодот има и HTML туторијал со корисни чекори од Мавен интеграција, пишување на тест случаи до правење на пакет за дистрибуција.
  2. Building Eclipse RCP applications based on Eclipse 4 – од познатиот Ларс Вогел, автор на многу туторијали за Eclipse RCP и слично. Тука може да го скокнете делот со инсталацијата и директно на корисните информации како градење на UI да преминете.

Добра API библиотека

Или подобро кажано, добра библиотека за API, тешко се наоѓа.

Покрај фактот што REST API-ата растат (како што гледаме на ProgrammableWeb, секој ден некое ново се додава), ситуацијата кај библиотеките за овие API-а за програмските јазици е шарена:

  • има библиотеки со добра имплементација но со слаба документација и/или без примери;
  • има библиотеки со добра документација и/или примери но се лошо реализирани и нелогични и/или неинтуитивни;
  • за некои API-а има многу библиотеки, за некои само по една, за некои ниедна;
  • некои библиотеки не виделе апдејт со месеци;
  • итн…

и тоа ме инспирираше во дијаграмот на Слика 1, кој, претставува нешто како wishlist што би очекувал од добра библиотека како нејзин корисник :)

Слика 1

Секоја чест на библиотеките кои се добри во секој поглед, тоа значи дека луѓето кои работеле на нив стварно се посветиле.

Eclipse Color Themes

Во претходен пост пишав за колор теми за NetBeans, и сега е време Eclipse да го испоштуваме :)

Како што приметивме во NetBeans има вграден менаџер за теми, и само ги импортираме и си одбираме која тема ја сакаме и тоа е целата филозофија. Единствен проблем е што нема многу теми, иако тие неколку што ги има се добри.

Кај Eclipse ситуацијата е следната: можете да менувте теми но бара едитирање датотеки рачно во папката кадешто е инсталиран, односно нема вграден менаџер за теми. Но затоа двајца момци направиле плагин кој воведува менаџер за теми во Eclipse и интернет портал на кој има многу теми и може секој да поднесе и да превземе тема. Pretty neat.

Инсталација и употреба

Плагинот и темите се наоѓаат на порталот http://www.eclipsecolorthemes.org/. За да го инсталирате плагинот отворете го Eclipse, стартувајте го, одете Help -> Install New Software…, кога ќе се отвори новиот прозорец одберете Add, и додадете го следниот линк:

http://eclipse-color-theme.github.com/update

и внесете име по ваша желба. Нешто како на следната слика:

Слика 1: додавање на нов слад за софтвер

Кај мене јавува Duplicate location бидејќи еднаш веќе го имам додадено. Потоа кај Work with го одбирате во листата тој склад, го штиклирате пакетот и го инсталирате. Следно, после рестартирање на Eclipse одиме Window -> Preferences -> General -> Appearance -> Color themes и таму можете да одберете некоја од постоечките, или да додадете нова (пр. некоја превземена од порталот).

Слика 2: избор на колор тема

П.С. На порталот можете и да се креира нова тема (пр. имате некоја тема од друг едитор или тема за конзола некоја, ги имате вредностите на боите, и ги внесувате во порталот и тој ви пакува тема која после ја импортирате во Eclipse преку горенаведениот прозорец).

Поставување на околина за Scala програмскиот јазик (за NetBeans)

Првин да се навратиме на постот ‘ оставување на работна околина за Scala програмскиот јазик [Eclipse]‘ кадешто може да видиме како се инсталира Java, што е Scala и примерче кратко.

Инсталираме Scala

Или ќе ги следиме инструкциите во претходниот пост, но со тоа ќе имаме Scala 2.7.x, или ќе го направиме следното, за да имаме Scala 2.8.0:

Одиме на http://www.scala-lang.org/downloads и го превземаме IzPack инсталаторот (моментален линк за последната стабилна верзија (2.8.1)), потоа отвораме конзола и влегуваме во папката кајшто е превземана оваа датотека. Потоа ја извршуваме наредбата:

sudo java -jar scala-2.8.1.final-installer.jar

Ќе ни се отвори следниот прозорец:

Слика 1

пота одбираме Next, ја прифаќаме лиценцата, одбираме да се инсталира во /usr/local/scala, и чекаме да си ја заврши работата.
Потоа мораме да ја додадеме променливата SCALA_HOME во системските патеки. Одиме пак во конзола, и ја извршуваме следната нардба:
nano ~/.bashrc

Следно, скроламе до крајот на текстуалнава датотека, и на крајот ги пастираме следните две линии:
export SCALA_HOME=/usr/local/scala/
export PATH=$PATH:$SCALA_HOME/bin

и со Ctrl+X излегуваме од едиторот, пришто кога ќе не праша дали да ги зачуваме промените потврдуваме. За да бидат ефективни промените го правиме следното:
. .bashrc

За да провериме сега дека работи, пишуваме scala во конзола пришто ќе ни даде нешто слично:
Welcome to Scala version 2.8.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_22).
Type in expressions to have them evaluated.
Type :help for more information.

scala>
И сега сме во REPL-от на Scala. Ако рече дека неможе да ја најде наредбата scala значи или не е инсталирана како што треба или во датотеката со системски променливи не е правилно посочена.

Инсталираме модул/плагин за поддршка на Scala во NetBeans

Следно, да нагласиме дека плагинов е за NetBeans 6.9 (пришто може и во понови верзии да работи истотака). Го превземаме од следниот линк. Секако дека има и постари верзии но тие можеби нема да бидат компатабилни со Scala 2.8. Истотака на страната за превземање може да забележите дека има Windows иконче до архивата – нема врска тоа, модулите за NetBeans се независни од платформата.

Превземената архива сега ја екстрактираме, и ќе добиеме многу датотеки со наставка *.nbm. Сите тие заедно го формираат плагинот. За да ги инсталираме одиме во Netbeans во Tools -> Plugins и во новиот прозорец одиме во јазичето Downloaded:

Слика 2

одбираме Add Plugins ќе ни се отвори прозорче со кое влегуваме во папката кајшто се сите *.nbm датотеки, ги селектираме сите, и потоа тие ќе се инсталирааат и ќе се рестартира NetBeans.

Уште да му кажеме на NetBeans каде се наоѓа инсталацијата за Scala, за да работи плагинот и завршена работа: ја отвораме датотеката netbeans.conf која се наоѓа во etc папката.

Ќе видиме една линија која започнува со netbeans_default_options=". На крајот на неа, пред карактерот " го пастираме следното: -J-Dscala.home=/usr/local/scala/. За оваа промена да се регистира треба да се рестартира NetBeans.

NetBeans Color Themes [updated x1]

Java-coffe-128Во постот NetBeans Look&Feel откривме како може да ја смениме темата која ја користи за да се темира развојната околина самата себеси.

Сега во овој пост, ќе откриеме како да ја смениме темата на бои која ја користи развојната околина во текстуалниот едитор, во кој го поминуваме најголемиот дел од времето, за да го добиете пример овој ефект:

Слика 1: едиторот со темата Aloha

Прв чекор е да отидеме во Tools -> Plugins, и да го инсталираме модулот Extra Color Themes. Алтернативно, може модулот да се вика Extra Color Ruby Themes (така е именуван во постарите верзии на NetBeans). Како и да се вика, темите важат за било кој јазик во кој ќе работите во NetBeans. Секако кудос до Ruby заедницата која се потрудила да ги склопи во еден модул :)

Откако ќе го инсталирате модулот, и пожелно ќе ја рестартирате развојната околина, отидете во Tools -> Options -> Fonts & Colors табот, и тука под Profile можете да ја изберете посакуваната тема:

Слика 2: понудени теми

EDIT 1:

Дополнителни теми:

Освен овие од пакетот, можете да инсталирате дополнителни теми, кои доаѓаат во *.zip датотека која се инсталира при кликање на Import копчето на истиот прозорец кој претходно се спомна. Пребарував и најдов неколку интересни теми:

Слика 2: Twilight, Mixu и Zenburn темите

И ги спакував во една архива (линк), која секако треба да ја отпакувате за да ги инсталирате темите една по една.

Како да извршите *.jar апликација од конзола, без директно да повикувате Java и од било која патека

Често пати се случува да симнете некое Java програмче кое доаѓа само со *.jar датотека, и нели, за да го извршите/стартувате во конзола, влегувате во папката во која се наоѓа, и ја извршувате наредбата:

java -jar progg.jar

Нели би било убаво, да можете да напишете само progg и со тоа да се изврши/стартува програмата, или уште поубаво, да немора да сте во фолдерот во кој се наоѓа програмата туку едноставно, да можете да ја повикате во било која папка и да се наоѓате.

Има решение од неколку чекори за да се реализира ова, и инспириран од твитот на Дамјан за одличната алатка ditaa,

Слика 1.

одлучив неа да ја земам во примерите. (hint: примерите се за Linux, тестирани на (K)Ubuntu)

Чекор 1: превземање на *.jar датотеката и копирање во соодветна датотека

Откако ќе ја превземеме датотеката, ќе ја екстрактираме во соодветна датотека, да речеме во ~/.ditaa/, и ќе ја имаме следната соддржина во неа:
COPYING
ditta0_9.jar
HISTORY

Чекор 2: создавање на скрипта за извршување на *.jar датотеката

Во истата папка, отвораме бланко текст датотека, ја именуваме ditta, и ја пастираме следната соддржина во неа:
#!/bin/sh
APPDIR=`readlink -f "$0"`
APPDIR=`dirname "$APPDIR"`
јаva -jar ${APPDIR}/ditaa0_9.jar "$@"

Чекор 3: даваме привилегии за извршување на скриптата

За да може да се изврши скриптата, треба да има привилегии за извршување, тоа го постигнуваме со извршување на командата:
chmod +x ditta

Нормално, треба да бидеме позиционирани во папката во која се наоѓа скриптата.

Чекор 4: додавање на папката во системските патеки

Ја отвораме датотеката ~/.bashrc, пр. со наредбата:
nano ~/.bashrc

и на крајот на најпоследниот ред, додаваме нов, и ја пастираме следната соддржина:
export PATH=/home/ime_na_akauntot/.ditaa/:$PATH

кадешто соодветно кај ime_na_akauntot го вметнувате името на вашиот акаунт, и ги зачувувате промените. И на крај, за да има ефект, додавањето во системски патеки, ја извршуваме наредбата:
. ~/.bashrc

Чекор 5: користење на програмата ;)

Се надевам дека ви се најде водичов корисен..