Posted: 29.09.2006 00:20 Post subject: New Actionscript in town! (AS3/Flex/Flash9)
Nadam se da ste svjesni nedavnog velikog događaja: pojavljivanja Actionscripta 3!
Zasad se AS3 programira u FLEX-u, te u Flashu 9 beta verziji, a može i koristeći notepad + BESPLATNI Flex 2 SDK.
Jedini demo do kojeg sam do sada došao je ovaj performance test: njegov autor tvrdi da je u AS2 verziji cijela stvar počela "štekati" sa 6 objekata, dok u AS 3 sa 100 objekata ne šteka, štoviše moj je 3GHz procesor vrlo vrlo nisko. Imajte na umu da su ovdje u pitanju hit testove između objekata, kao i depth-sorting! Stvar raste eksponencijalno s brojem objekata.
Sve što zasad znam o AS3 je da se hacka isključivo u .as fajlovima, dakle nema koristi od njega u timeline-u.
.fla može biti prazan, ili uopće ne treba postojati, ako koristite SDK.
Ako .fla postoji, u Publish Settingsima namjestite output na Flash Player 9 / AS3 i setirate tzv. Document class na ime vaše "startup" klase iz .as fajla.
Sintaksa AS3 je bitno različita od sintakse AS2, dakle nemojte se kao ja nadati da će AS2 projekt proraditi u AS3 bez puno peripetija.
Ukratko, kao što je Flash 8 bio revolucionaran za design/grafiku, tako je Flash 9 za programiranje/performance. Mislim da će sada počet nagli razvoj 3d igrica u Flashu!
I naravno ovakvih aplikacija.
Da biste se okoristili brzinom novog Actionscripta, morate (napokon) naučiti programirati u pravom smislu te riječi, dakle OOP (object oriented programming). Pošto je nova sintaksa prilično slična sintaksi C#, Jave, Javascripta, mislim da na webu ima podosta materijala-a za naučiti razmišljati objektno. Riječi kao što su class, extends, constructor, event, override.. moraju vam postati bliske.
Pitanje za nekog tko je malo prodrio u as 3.0 je da li je početniku preporučljivo dat da nauči prvo 2.0 ili ga bacit odmah na 3.0?
Moram priznati da još nisam napravio ništa korisno u AS3.0 (tek sam na čitanju tutoriala), ali odgovor na tvoje pitanje je zapravo trebao biti postavljen u vrijeme kad je izlazio AS2, jer:
- ako ti Flash služi poglavito za design, onda programiraš u timeline-u i ne služiš se vanjskim klasama (.as fajlovima)
- ako hoćeš napraviti kompleksniju aplikaciju, onda programiraš "kako treba" ™, tj. koristeći objektno programiranje u AS2/AS3 (nužno u .as fajlovima)
Ako radiš samo neke button rollovere, onda ćeš to raditi u timeline-u koristeći stari AS. Ne isplati si se raditi klase za takve stvari (osim ako ih nećeš koristiti i u kasnijim projektima).
Ako ćeš raditi npr. igricu, onda ćeš nju najbolje realizirati u OOP/AS3 tehnologiji. Jer ako ne koristiš objektno progamiranje, količina i nerazumljivost koda nakon nekog vremena postaju nepremostiv problem!
Razlika između AS2 i AS3 je u tome da je AS3 poboljšana verzija AS2 i po sintaksi više slična drugim programiskim jezicima kojima se programiraju aplikacije. To znam jer svakodnevno programiram u C#/.NET-u.
AS3 je puno "striktniji" za pisanje jer se sve varijable moraju deklarirati itd.
U načelu - što niža verzija actionscripta, to je lakše za pisanje, manje prijavljenih grešaka - ali kad imaš bug u "runtime-u" onda ga je teško naći.
U svakom slučaju treba početi programirati objektno, jer to je danas standardni način programiranja. Aplikacije danas ne bi bile na ovakvom stupnju razvoja da nije toga i da svatko mora krenuti od nule služeći se operacijama jezika na najnižem nivou.
U OOP-u uzmeš gotove klase (.as fajlovi u Flashu, .DLL-ovi u .NET-u), od tih klasa "instanciraš" objekte koji imaju svoje propertyje i metode: objekte shvaćaš kao male inteligentne robote koji nešto rade. Kako rade interno - ne zanima te, zanimaju te samo ulazni i izlazni parametri, tj. način njihovog korištenja.
Za OOP pristup napisano ja puno tutorijala na net-u, a preporučam one na www.senocular.com i www.kirupa.com, također sve od Colina Moocka i drugih Flash velikana.
U svakom slučaju ako krećeš programirati objektno, onda odmah počni s AS3.
Dodatna nagrada kodiranja u AS3 je brzina aplikacije - za koju kažu da je veća do 10x (!).
Ljudi, FLEX je revolucija na polju web aplikacija!!!
U ovo kratko vrijeme koliko isprobavam Flex stvarno sam oduševljen s njime!
Za razliku od starih tehnika/tehnologija: HTML + Javascript + AJAX + workarounds, rad s tehnologijom FLEX + web service je piece of cake!
Nema više zafrkancije sa browserom! Browser je izbačen iz cijele priče - sve što imaš je Flash applet preko cijelog ekrana (100% x 100%), imaš njegov Canvas i u njemu možeš napraviti što hoćeš - totalna sloboda!
Actionscript 3.0 je fantastičan - što se tiče sintakse i brzine.
Customiziranje gotovih Flex komponenti (Button, TabStrip, DataGrid...) je nevjerojatno dobro izvedeno. Svaka komponenta imam nevjerojatno velik broj propertija za mijenjanje look&feel-a.
Integracija vaših vlastitih AS3 klasa/MovieClip-ova i Flexovih mx.core.UIComponenta je trivijalna.. Pogledaj primjer:
Ono što me najviše impresioniralo u Flexu su tzv. "Bindable" varijable.
Ako u glavnoj klasi aplikacije naznačiš:
Code:
[Bindable]
public var projectStatistics: ArrayCollection;
.. tada se promjene vrijednosti te varijable automatski propagiraju na sve objekte u aplikacji koji koriste vrijednost te varijable. Objekt pritom može biti i sub-sub-sub kontrola, svejedno je gdje se u aplikaciji nalazi!
Dakle, ako imaš ArrayCollection (koji puniš preko web servisa queryjem na bazi) i koji je DataSource za neki DataGrid, sve što trebaš napraviti da promijeniš vrijednosti u DataGrid-u je - ponovno pozvati metodu web servisa koji puni taj ArrayCollection.
Sve ostalo se događa AUTOMATSKI! Dakle, ne moraš zvati DataBind kontrolu DataGrida niti osvježavati ostale kontrole koje se napajaju iz bindable varijabli, a to čini programiranje nevjerojatno lakim i vaš kod nevjerojatno čistim!
Eto, moje 6-mjesečno prčkanje po Flexu dalo je i neke rezultate
Demo aplikacija nalazi se na sljedecem linku: http://promotor.flexbytes.com/
(trenutno je zatvorena za public, ali otvorit ćemo je uskoro za znatiželjnike koji žele steći osjecaj o Flexu)
Ukratko: ovo je aplikacija za administriranje promocija i promotivnih materijala diskografske kuce. Aplikacija je full jednostavna, ali može poslužiti kao dobar primjer što Flex može.
Aplikacija namjerno izgleda kao tipičan desktop, jer težimo Windows-like aplikacijama (cross-browser, cross-platform) na webu. Aplikacije su na clientu u Flexu 2.0.1, .NET 2.0 na serveru i SQL Server 2005 ili Oracle kao baze. Client i server komuniciraju preko web servisa razmjenjujući kompleksne DTO-e.
Frend i ja radimo u timu - obojica programiramo u .NET-u na serveru, pritom je on majstor za baze (SQL Server, Oracle...) a ja sam zadužen za Flex, Flash i user interface. Domenu FlexBytes smo pokrenuli 1.5.2007. Izgleda se da smo prvi u Hrvatskoj koji rade Flex..
btw istinski vjerujemo u Flex jer se pokazao kao najrobusnije rješenje za web (we believe that HTML+Javascript is not a good start ).
Vjerujemo da je budućnost web aplikacija u appletima veličine 100x100%, a browser promatramo samo kao transport.
To misle i SAP , Oracle, a od nedavno i Microsoft koji pod imenom Silverlight želi napraviti svoj "Flash" i "Flex". Prema primjerima koje sam vidio - Silverlight je trenutno na nivou Flasha od prije 5 godina; framework kao Flex još nemaju..
Druga stvar je da Microsoft (Microsoft kao Microsoft ) uvijek forsira samo svoju platformu - po nama to nikad nece raditi na svim sistemima 100%. Dok Flex radi svugdje i sa svim vrstama back-enda (.NET, Java, PHP, CF web servisi...).
Ukoliko netko ima pitanje vezano za Flex, slobodno me može kontaktirati...
S obzirom da sam test useru dao sva prava - lijepo vas molim da imate obzira
Također - ako se nekome događaju čudne stvari, to će vjerojatno biti zato jer je još netko ulogiran istovremeno i radi na istim podacima
U principu nemojte brisati postojeće recorde i sve će biti ok.. (inače ću svaki čas morat restorat bazu.. )
ps. zanemarite Vista soundove, još mi nisu stigli originalni soundovi; čim stignu - izbacujem Vistu..
Probajte kako stvar radi u različitim browserima: IE, Firefox, Netscape, Opera, Safari...
Nakon toga zaboravite na browser i isprobajte Windows verziju! (2.5 MB)
(raspakirajte Promotor.exe i config.xml u isti folder i pokrenite .exe)
ps. Ako nemate instaliranu potrebnu verziju Flash playera na kompu, bit ćete upitani da li želite instalaciju i nakon toga će se sve dogodit automatski...
Joined: 13 Nov 2003 Posts: 1397 Location: Karlovac
Posted: 13.05.2007 14:39 Post subject:
ok, svidja mi se jako
- kakvi su tehnicki requirements za to, kako server, tako i client
- ova windows verzija se sama generira?
- bilo kakve ostale informacije, tipa koliko ovo ima koda, koliko se razvijalo
- kako radi sa PHP+Apachejem?
_________________ Bolje biti malo lud, nego malo pametan.
ok, svidja mi se jako
- kakvi su tehnicki requirements za to, kako server, tako i client
- ova windows verzija se sama generira?
- bilo kakve ostale informacije, tipa koliko ovo ima koda, koliko se razvijalo
- kako radi sa PHP+Apachejem?
- tehnicki requirements:
+ server: ako koristiš web servis kao komunikaciju, onda ti je svejedno što je na serveru: .NET, PHP, Java, ColdFusion... bitno je samo da znaš isprogramirati web servis
+ client: isključivo Flex, možeš ga programirati besplatno u notepadu jer je SDK besplatan (cijeli framework, tj. klase koji su ljudi programirali i čine framework, je besplatan), a možeš i u FlexBuilderu koji košta $750 - u njemu imaš Intellissense, debugging i hrpu korisnih featurea. FlexBuilder ti zbilda i HTML stranicu koja hosta Flash, Flash sniffer i sve ostalo
- windows verziju sam dobio na klasični način: pokrenuo sam SWF i kreirao projector Imaš i Apollo s kojim možeš napraviti installer za sve sustave (PC, Mac..) koji imaju instaliran Apollo framework
- ima dosta koda (ali ja sam komplicirao s Cairngorm patternima), naravno: moraš programirati objektno orijentirano; Flexom se se počeo bavit u 12. mj 2006, dakle za nekih 5 mjeseci učenja Flexa
- nisam još probao s PHP-om, ali kako rekoh web servisi komuniciraju SOAP protokolom koji je baš zato i napravljen - to je običan XML (text) koji ide preko HTTP-a i svi strojevi ga razumiju. Jedna od alternativa je JSON, možeš komunicirati JSON objektima, možeš i GET ili POST protokolom (JSON je string)... danas je JSON parser implementiran svugdje (pa tako i u Flexu)
Svaka cast jako mi se dopada!!!
I ja sam poceo raditi u flex-u isto tako mislim da flex ima ogromnu buducnost , moja iduca stvar je napraviti pravi Flash CMS.
Sve sto ce biti potrebno je samo upisati url od XML-a i imat ces potpunu kontrolu nad sajtom znaci sve zivo ce se moci izmjeniti od texta slika itd..
Joined: 19 Dec 2006 Posts: 671 Location: ZG <-> ST
Posted: 17.05.2007 16:50 Post subject: flex
E sad me zanima jel Flex i Flex builder ista stvar ili je to odvojeno.
Imam Flex Builder 2 i super mi je mada nisam programer,ali samim pogledom na njega mi se jako dojmio, i ono šta sam vidio šta se sve sa njime može.
Valja krenit u to pa di stigneš.
Izazovno, izazovno....
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum