Nov 28 2009

Ubuntu Quickly – szybkie programowanie w Ubuntu

Updated: 17.10.2010

quickly-logoCzym jest Ubuntu Quickly i w czym moze sie nam przydac? Na pierwsze pytanie postaram sie odpowiedziec, jednak na drugie, musimy odpowiedziec sobie sami. Biorac pod uwage bogactwo i roznorodnosc jezykow programowania, programowanie w Linux nie powinno sprawiac problemu, jednak autorzy Quickly twierdza, ze nie jest to latwe i przyjemne, wiec postanowili dac nam cos special – platforme, ktora bedzie programowac za nas ;)

Osobiscie uwazam, ze osoba, ktora zna na poziomie przynajmiej srednio-zaawansowanym jezyk C i C++, nauczy sie kazdego nowego jezyka w przeciagu 1 tygodnia. Moze nie bedzie perfekcyjnie znac wszystkich mozliwosci danego API, ale nie ma to wiekszego znaczenia, liczy sie tu umiejetnosc poznawcza. Wiec poczatkujacym programistom, polecam zajac sie w szczegolnosci C/C++ – nawet jezeli sprawia to trudnosci – i to najlepiej programujac w terminalu ;)

Wracajac jednak do Ubuntu Quickly, jest to system automatyzujacy proces tworzenia, edycji, az w koncu pakietowania i publikacji tworzonych aplikacji. Jestem otwarty na wszelkie nowosci, ale z doswiadczenia wiem, ze nie wszystko zloto co sie swieci. Mimo to, musze przyznac, ze Quickly ma racje bytu i moze niedlugo bedzie cenionym narzedziem. Przekonajcie sie jednak sami.

1. Instalujemy quickly

czlowiek@maszyna:~$ sudo apt-get install quickly

2. Tworzymy nowy projekt

czlowiek@maszyna:~$ mkdir -p ~/Work/quickly
czlowiek@maszyna:~$ cd ~/Work/quickly
czlowiek@maszyna:~/Work/quickly$ quickly create ubuntu-application helloworld

quickly utworzy nowy projekt o nazwie helloworld, skompiluje i uruchomi szablonowy program

quickly-helloworld

Teraz mozemy juz przejsc do edycji, na poczatek…

3. Zmieniamy wyglad szablonowej formy

czlowiek@maszyna:~/Work/quickly$ cd helloworld
czlowiek@maszyna:~/Work/quickly/helloworld$ quickly design

quickly-glade-helloworld

4. W ten sposob zaczynamy edycje kodu programu

czlowiek@maszyna:~/Work/quickly/helloworld$ quickly edit

Wszystkie skladowe programu otworza sie w domyslnym edytorze – tu gedit.
quickly-edit-helloworld

5. Odpalamy zmodyfikowany program

czlowiek@maszyna:~/Work/quickly/helloworld$ quickly run

Nie pozostaje juz nic innego, jak wygenerowac paczke programu.

6. Instalujemy wymagane pakiety

czlowiek@maszyna:~/Work/quickly/helloworld$ sudo apt-get install devscripts

7. Generujemy deb’a

czlowiek@maszyna:~/Work/quickly/helloworld$ quickly package

Zapraszam do testowania. No i jeszcze maly tutorial

czlowiek@maszyna:~$ quickly tutorial
ERROR: tutorial command must be followed by a template and no template was found on the command line.
Candidates template are: ubuntu-pygame, ubuntu-application
Aborting.

Jezeli wyswietli sie powyzszy blad, oznacza to, ze jestesmy poza katalogiem projektu.
Wracamy do uprzednio utworzonego projektu helloworld

czlowiek@maszyna:~$ cd ~/Work/quickly/helloworld
czlowiek@maszyna:~/Work/quickly/helloworld$ quickly tutorial

Nov 3 2009

Hello world na Androida

Zajmiemy sie dzisiaj tworzeniem prostej aplikacji na platforme Android i uruchomimy ja na naszym Era G1. Jezeli nie masz jeszcze skonfigurowanego srodowiska, to pora poczytac, jak skonfigurowac Android SDK na systemie Ubuntu.

Tworzymy aplikacje HelloWorld

1. Podlaczamy Era G1 do komputera za pomoca kabla USB

2. Wlaczamy debugowanie przez USB w naszym Androidzie
Wybieramy Menu->Ustawienia->Aplikacje->Programowanie a nastepnie zaznaczamy opcje Debugowanie USB

android-debug

3. Uruchamiamy Eclipse i przechodzimy do widoku Java

4. Tworzymy nowa aplikacje
Wybieramy File->New->Project…, rozwijamy galaz Android, zaznaczamy Android Project i naciskamy Next

android-new-app

5. Wypelniamy formularz New Android Project
Wpisujemy nazwe projektu HelloWorld, nastepnie w grupie Build Target wybieramy Android 1.5 SDK. Teraz uzupelniamy wlasciwosci,
w polu Application name wpisujemy HelloWorld,
w polu Package name wpisujemy rewers naszej domeny, np. org.losoft.android,
w polu Create Activity wpisujemy wyswietlana nazwe skrotu do aplikacji.
Na koniec klikamy Finish.

android-new-app-dialog

6. Kompilujemy aplikacje
Wybieramy Project->Clean…

7. Uruchamiamy HelloWorld na Era G1
Jezeli telefon jest poprawnie podlaczony do komputera, to jest rowniez widoczny w DDMS.
Aby uruchomic aplikacje klikamy przycisk Run->Run, w wyswietlonym dialogu

android-new-app-runas

zaznaczamy Android Application i klikamy OK, po chwili w naszym telefonie powinien wyswietlic sie czarny ekran aplikacji z napisem Hello World, HelloWorld!.

android-helloworld

That’s it. W menu pojawi sie nowa aplikacja,

android-menu

ktora usuwamy z telefonu za pomoca standardowego narzedzia Zarzadzaj aplikacjami

android-apps


Oct 13 2009

Hello world w C/C++

Wstep do programowania C/C++ w Linuxie zaczniemy standardowo od programiku helloworld.

Przygotowujemy srodowisko

czlowiek@maszyna:~$ sudo apt-get install build-essential

i to juz wystarczy aby napisac prosty programik w C.

Generujemy kod programiku

czlowiek@maszyna:~$ nano helloworld.c
#include <stdio.h>
 
int main (int argc, char *argv[])
{
	printf ("Hello World!\n");
	return 0;
}

Kompilujemy programik korzystajac ze standardowego gcc (gcc [opcje] plik)

czlowiek@maszyna:~$ gcc -o helloworld helloworld.c

Uruchamiamy programik

czlowiek@maszyna:~$ ./helloworld
Hello World!

Niama. To teraz C++

Generujemy kodzik

czlowiek@maszyna:~$ nano helloworld.cpp
#include <iostream>
 
int main (int argc, char *argv[])
{
	std::cout << "Hello World!" << std::endl;
	return 0;
}

Kompilujemy korzystajac tym razem z g++ (g++ [opcje] plik)

czlowiek@maszyna:~$ g++ -o helloworld_c++ helloworld.cpp

Uruchamiamy programik

czlowiek@maszyna:~$ ./helloworld_c++
Hello World!

cool. To pobawmy sie.

Tworzymy plik viewparams.c

czlowiek@maszyna:~$ nano viewparams.c

i wstawiamy to

#include <stdio.h>
 
int main (int argc, char *argv[])
{
	printf ("argc = %d\n", argc);
	int i;
	for (i = 0; argv[i]; i++) {
		printf("argv[%d]", i);
		printf(" = %s\n", argv[i]);
	}
	return 0;
}

Kompilujemy i uruchamiamy programik z parametrami

czlowiek@maszyna:~$ gcc -o viewparams viewparams.c
czlowiek@maszyna:~$ ./viewparams parametr1 parametr2 parametr3
argc = 4
argv[0] = ./viewparams
argv[1] = parametr1
argv[2] = parametr2
argv[3] = parametr3

Teraz programik plus

czlowiek@maszyna:~$ nano plus.c
#include <stdio.h>
 
int main (int argc, char *argv[])
{
	if (argc < 3) {
		printf ("Niepoprawna liczba argumentow :/\n");
		printf ("Przyklad uzycia: plus 50 25\n");
		return 1;
	}
	int sum, i;
	sum = 0;
	for (i = 0; argv[i]; i++) {
		sum += atoi(argv[i]);
	}
	printf ("%d\n", sum);
	return 0;
}

Kompilujemy i uruchamiamy

czlowiek@maszyna:~$ gcc -o plus plus.c
czlowiek@maszyna:~$ ./plus 50 25
75
czlowiek@maszyna:~$ ./plus 1 2 3 4 5 6 7 8 9 0
45

plus-minus? ;)


Oct 5 2009

Flex Builder 3 debugowanie pod Ubuntu

Nawiazujac do poprzedniego wpisu o instalacji Flex Builder 3, pragne dodac krotki opis konfiguracji tego srodowiska w taki sposob aby mozliwe bylo debugowanie kodu w czasie rzeczywistym. Sam mialem z tym problem, wiec moze komus sie przyda.

1. Na poczatek potrzebujemy zmodyfikowanej wersji Flash Playera

czlowiek@maszyna:~$ wget http://download.macromedia.com/pub/flashplayer/updaters/10/flash_player_10_linux_dev.tar.gz -O /tmp/flash_player_10_linux_dev.tar.gz

2. Nastepnie ekstraktujemy do katalogu tymczasowego

czlowiek@maszyna:~$ tar xzvf /tmp/flash_player_10_linux_dev.tar.gz -C /tmp
czlowiek@maszyna:~$ tar xzvf /tmp/flash_player_10_linux_dev/plugin/debugger/install_flash_player_10_linux.tar.gz -C /tmp

3. Instalujemy Flash Player

czlowiek@maszyna:~$ /tmp/install_flash_player_10_linux/flashplayer-installer

czytamy instrukcje i odpowiadamy na pytania, sciaga: y, n ;) .

Restartujemy Firefox’a i na upartego powinno wszystko dzialac. Ja osobiscie mam wieczny problem z kompatybilnoscia FF i FP. Firefox potrafi sypnac sie z byle powodu (sa rozne, tylko jemu znane) lub Flash Player nie odpowiada na zapytanie debuggera. Po wielu doswiadczeniach i zmarnowanych godzinach na analizie problemu doszedlem do wniosku, ze FF nie jest jedyna przegladarka i ze w tej kwestii Epiphany Web Browser sprawdza sie znakomicie.

4. Instalujemy Epiphany Web Browser

czlowiek@maszyna:~$ sudo apt-get install epiphany-browser

5. Konfigurujemy Eclipse-Flex do wspolpracy z nowa przegladarka
Window->Preferences, nastepnie zakladka General->Web Browser teraz klikamy New i wypelniamy formularz zgodnie z zalaczonym PrtScrn’em
Flex changing the web browser
sciaga:

Epiphany Web Browser
/usr/bin/epiphany-browser

Jako, ze Epiphany nie chwyta FF’owego plugina, musimy nadpisac glowny plik playera.

6. Nadpisujemy liba

czlowiek@maszyna:~$ sudo cp /tmp/install_flash_player_10_linux/libflashplayer.so /usr/lib/adobe-flashplugin/libflashplayer.so

Tak oto po paru zabiegach mozemy cieszyc sie “stabilnym” srodowiskiem Flex Builder 3 pod Ubuntu :)
Flex Epiphany debugging

Kodzik

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
	creationComplete="init()">
	<mx:HBox horizontalAlign="center" verticalAlign="middle" width="100%" height="100%">
		<mx:VBox>
			<mx:Label id="lb_helloWorld" text="Hello world" fontSize="36" />
			<mx:HBox horizontalAlign="center" verticalAlign="middle" width="100%" height="100%">		
				<mx:Button id="btn_increase" label="+" />
				<mx:Button id="btn_decrease" label="-" />
			</mx:HBox>
		</mx:VBox>
	</mx:HBox>
 
	<mx:Script>
	<![CDATA[
		private var _fontSize: int = 36;
 
		public function init():void
		{
			this.btn_increase.addEventListener(MouseEvent.CLICK, this.increaseFontSize);
			this.btn_decrease.addEventListener(MouseEvent.CLICK, this.decreaseFontSize);
		}
 
		public function increaseFontSize(event: MouseEvent): void
		{
			this._fontSize++;
			this.lb_helloWorld.setStyle("fontSize", this._fontSize);
		}
 
		public function decreaseFontSize(event: MouseEvent): void
		{
			this._fontSize--;
			this.lb_helloWorld.setStyle("fontSize", this._fontSize);
		}
	]]>
	</mx:Script>
</mx:Application>

Zobacz takze:
- Instalacja Flex Builder 3 na Ubuntu


Oct 4 2009

Instalacja Flex Builder 3 na Ubuntu

Flex, Air, Flash, chyba nie trzeba nikomu tlumaczyc co to jest, z czym to sie je i ze ta technologia opanowala swiat. Postaram sie wiec w paru krokach przedstawic proces instalacji i konfiguracji Flex Builder 3 Linux Alpha 4 na Ubuntu dla potencjalnych programistow. To co w win$hitcie sprowadza sie do paru klikniec w Linuxie wyglada troche bardziej “profesjonalnie”. Ale nie taki diabel straszny jak go maluja. Jako, ze instalacja AFB3LA4 wymaga Eclipse w wersji 3.3.x, dlatego tym razem nie skorzystamy z repo.

1. Sciagamy pakiet Eclipse Europa

czlowiek@maszyna:~$ wget http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/europa/winter/eclipse-java-europa-winter-linux-gtk.tar.gz -O /tmp/eclipse-java-europa-winter-linux-gtk.tar.gz

nie jakis tam, ale ten konkretny inaczej Flex odrzuci wspolprace z inna wersja.

2. Po sciagnieciu wypakowujemy Eclipse do uprzednio przygotowanego katalogu

czlowiek@maszyna:~$ mkdir ~/Programy
czlowiek@maszyna:~$ tar xzvf /tmp/eclipse-java-europa-winter-linux-gtk.tar.gz -C ~/Programy/
czlowiek@maszyna:~$ mv ~/Programy/eclipse ~/Programy/flex

po tych manewrach mamy rozpakowany Eclipse Europa do katalogu flex w ~/Programy/

3. Sciagamy Flex Builder’a

czlowiek@maszyna:~$ wget http://download.macromedia.com/pub/labs/flex/flexbuilder_linux/flexbuilder_linux_install_a4_081408.bin -O /tmp/flexbuilder_linux_install_a4_081408.bin

4. Instalujemy Flex’a

czlowiek@maszyna:~$ chmod +x /tmp/flexbuilder_linux_install_a4_081408.bin
czlowiek@maszyna:~$ /tmp/flexbuilder_linux_install_a4_081408.bin

odpali sie instalator, ktory umozliwi instalacje softu,
Flex Installer
nastepnie
- akceptujemy licencje,
- wybieramy katalog do zainstalowania SDK /home/czlowiek/Programy/sdk/Adobe_Flex_Builder_Linux,
- wybieramy katalog uprzednio rozpakowanego Eclipse Europa /home/czlowiek/Programy/flex (jezeli wersja eclipse nie jest prawidlowa instalator zglosi blad),
- dodatkowe opcje – odznaczamy wszystko,
- Next, Next, Install
Flex Installer

5. Testujemy Flex’a

czlowiek@maszyna:~$ ~/Programy/flex/eclipse

odpali sie standardowy Eclipse, ktorego musimy “nieco” zmodyfikowac, czyli otwieramy nowa perspektywe ;)
Flex

Po tych wszystkich zabiegach, mozemy juz przystapic do programowania aplikacji we Flex’ie.

6. Hello world
Klik, klik, klik, czyli File->New->Flex Project i wypelniamy formularz,
Flex Hello world
dajemy Finish i przystepujemy do programowania aplikacji HelloWrold

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:HBox horizontalAlign="center" verticalAlign="middle" width="100%" height="100%">
		<mx:Label text="Hello world" fontSize="36" />
	</mx:HBox>
</mx:Application>

Flex Hello world
nastepnie klikamy przycisk Run i po chwili w domyslnej przegladarce uruchomi sie oczekiwana aplikacja Flashowa,
Flex Hello world
zadna wypasna ale dziala ;) .

Zobacz takze:
- Flex Builder 3 debagowanie pod Ubuntu