Tuesday, June 24, 2008

Easy AJAX with jMaki Framework

If you are web application developer I think you know about Rich Internet Application, Web 2.0.
AJAX is way to bring you for purpose. You can use jMaki Framework. You are amazed.

Quick start Guides
Download Plugin Netbeans

Tuesday, June 17, 2008

Eclipse JVM Terminate on MAC OS

On MAC OS, after you change JDK HOME from JDK 1.5.0 to 1.6.0 when you run Eclipse system alert JVM Terminate will appear. 
The solution, modifier file info.plist in Eclipse HOME/Eclipse.app/contents

remove comment 
-vm/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java

It's easy.

Monday, June 9, 2008

Extract zip file with Java

File file = new File("c:/test.zip");
BufferedOutputStream dest = null;
BufferedInputStream is = null;
ZipEntry entry;
ZipFile zipfile = new ZipFile(file);
Enumeration e = zipfile.entries();
while (e.hasMoreElements()) {
entry = (ZipEntry) e.nextElement();
System.out.println("Extracting: " + entry);
is = new BufferedInputStream(zipfile.getInputStream(entry));
int count;
byte data[] = new byte[BUFFER];
String fileName = "c:/" + entry.getName();
File outFile = new File(fileName);
if (entry.isDirectory()) {
outFile.mkdirs();
System.out.println("Create Folder " + outFile);
} else {
FileOutputStream fos = new FileOutputStream(outFile);
dest = new BufferedOutputStream(fos, BUFFER);
while ((count = is.read(data, 0, BUFFER)) != -1){
dest.write(data, 0, count);
}
dest.flush();
dest.close();
is.close();
}
}

Friday, June 6, 2008

Flex vs Silverlight

เมื่อวานผมได้ไปงาน MSDN Sneak Peek มาครับ โดยตัวเรื่องจะเป็นการกล่าวถึง technology ที่ชื่อ Silverlight ของ Microsoft เป็นหลัก ผมเองก็สงสัยมานานแล้วกับ Technology ตัวนี้ ว่ามันจะมีอานุภาพมาเทียบเคียงกับ Flex ได้ไหม ผมก็ได้ concept คร่าวๆ จาก พี่… (จำชื่อไม่ได้นะคร้าบ ^ ^ ขออภัยมา ณ ที่นี่) ที่เป็น MVP และที่อยู่ของเขาก็อยู๋ที่ ThaiSharp.net ครับ ผมก็อยากหยิบยกประสบการณ์ของผมมาเปรียบเทียบความ “เหมือน” ที่แตกต่างพวกนี้กัน (อ่านเล่นๆ มีสาระนะครับ)

Round 1: XAML vs. MXML

คู่แรกที่เห็นได้ชัดที่สุดเลยคือ 2 ฟอร์แมตที่ใช้ในการจัด layout พร้อมทั้งกำหนด คุณลักษณะของทุก object ที่เป็น visual component โดย Microsoft ได้ศึกษามาเป็นอย่างดี โดยทำการปรับปรุงใน XAML สามารถทำงานได้บน Cross-application ในการพัฒนา web ของเขาเอง ได้แก่ Microsoft Expression Studio (คล้ายๆ กับ เหล่า CS ของ Adobe) และ VS 2008 (ซึ่งก็คือ Adobe Flex builder นั่นเอง) โดยในความเห็นของผม คิดว่า Microsoft จะอาศํยฐานนักพัฒนา .net ของตัวเองในการเรียนรู้ XAML เพียงนิดเดียว เพื่อที่จะสร้าง solution ขึ้นมาต่อกร กับ Adobe ยกนี้ให้ เสมอกัน

Round 2 : VS2008 vs. Flex Builder 3

แน่นอนว่าการพัฒนาอย่างมีประสิทธิภาพ ก็เหมือนการต่อเรือโดยใช้เครื่องมือชั้นดี (บวกกับทักษะของช่างเอง) VS2008 เป็นเครื่องมือที่ยืนยงคงกระพันมาราว เขาเหลียงซาน พร้อมด้วยการพัฒนาให้ “เหมาะสม” กับ developer ทั้งมวล ทำให้การปล่อยหมัดแต่ละครั้ง หนักหน่วงและมั่นคง แต่ทว่า Adobe Flex ดึงเอาจุดเด่นของชั้นเชิง Eclipse รุ่นพี่ออกมาพัฒนาต่อยอด แต่ทำให้สูญเสียข้อดีบางอย่างไปในการพัฒนาให้รับกับ Actionscript 3 อาจทำให้ นักวิจารณ์พูดกดดันเล็กน้อย หากแต่เพียงการพัฒนาให้มีลักษณะ ที่เป็นเอกลักษณ์ โดยการดึงความสามารถเฉพาะตัวของ Adobe Flex framework เข้าไป (Custom component, Data Binding) ทำให้เชิงที่ออกมานั้น ผมว่าทำเอา Microsoft เดาทางไม่ถูกเช่นกัน ยกนี้ผลัดกันกระทุ้ง เสมอ…

Round 3 : Flexibility & Performance

ยกนี้น่าสนใจมากๆ ครับ เพราะเหมือนการให้กรรมการนับแต้มกันจาก ข้อมูลที่แต่ละฝ่ายกล่าวอ้างกัน เรามาดูกันดีกว่า

Silverlight Flex
+ Better video compression (no lossless) - JPEG algorithm video compression
- No common component (like button, for now) + provide common component
- Tool still in beta version + Release full version 3
- .NET framework seems using more tool to complete a product + Flex seems to allow using only one technology to complete a product
+ In Thailand, developer love Microsoft .net framework (?) - look like actionscript is belonging to designer (very miss-understanding!)

ซึ่ง ก็ซํดกันไปเป็นช่วงๆ ครับ ในความเห็นของผม ผมขอสรุปว่า Microsoft กำลังกลับไปศึกษาเชิงมวยของ Flex กันยกใหญ่ เพราะเนื่องจากตัวนี้ยังไม่ เสถียร และเครื่องมือพัฒนาก็ยังไม่พร้อม ความหวังที่กำลังจะไปเทียบเคียงกับ Adobe Flex คงต้องรอในอีก 2 - 3 เดือนข้างหน้าครับ ในวันนี้ Microsoft พาขุนศึกออกมาประจันบาญ ซึ่ง Adobe ก็คงเตรียมกระบวนทัพใหม่รอต้อนรับอยู่เหมือนกัน


ที่มา http://webflex.wordpress.com/tag/adobe-flex/


Thursday, June 5, 2008

Convention in Macromedia Flex [Flex part II]

ก็ลองเขียนดูเล่นๆนา

มันก็จามีอยู่ 2 แบบอย่างที่บอก คือ เขียนเป็น mxml ซึ่ง ข้อดึของมัน ก็คือ สามารถลากแปะๆ ได้ เนื่องจาก flex builder มันมี tool ในการ สร้าง UI ให้ลากไปใช้งาน อีกส่วนหนึ่งก็ตือ เขียนเป็น ActionScript

หากลองเปรียบเทียบกับ jsp ให้เข้าใจง่ายหน่อย ก็อาจจะ คิดว่า MXML ก็เหมือนกับ HTML โดยหารเขียนจะเป็น และสามารถแทรกส่วนที่เป็น Script ลงไปได้

แล้วหากสร้างไฟล์ที่เป็น actionscript เลย ก้เหมือนกับ สร้าง servlet ที่เขียนเป็น java แล้วแทรก HTML ลงไปได้ แต่ว่า !!! ยังไม่ได้ลองสร้าง แบบนี้เลย เลยไม่รู้ว่าจาแทรก แบบ mxml ลงไปได้ป่าว


หลายคนอาจจะสงสัยว่า Flex ทำมาทำไม ทั้งๆที่มี Flash แล้ว (Flash ก็มี action script) เออ พูดตั่งนาน กูก็สงสัย

55+
แต่ว่า Flash จริงแล้วที่มันออกแบบมาเพื่อให้ใช้ต่างกัน Flex มันเป็นการเขียนแบบ MVC

แต่เวลา compile มันก็จาแปลงจาก MXML > ActionScript > SWF ไอเจ้า swf ก็คือไฟล์ของ flash ที่ใช้ flash player ในการ render อยู่ดี

(PS. เหมือนที่เขียนไปแล้วในอันแรก หากเขียนเป็น App ก็จาใช้ AIR ในการ compile )


ตั้งหัวข้อว่า Convention in Flex แต่ยังไม่ได้พูดถึง convention สิ
DataType:
int
String
Boolean

มี Setter, Getter เหมือน .Net

มี protocal ในการ binding ไปยัง java ได้อีกด้วย แต่ต้องมีการเขียน class ที่คล้ายๆกันเอาไว้
ไม่เหมือนกับ web service ที่ มันสร้า web reference ไป แล้วใช้งานได้เลย

เราต้องสร้าง 2 class ที่เหมือนๆกัน ทั้ง 2 ฝั่ง เพื่อให้ ส่งข้อมูลถึงกันได้ แล้วทำการ mark ที่ flex นิดหน่อยเพื่อให้มันรู้ว่า เราจา mapping ไปยัง java ( ยังไม่เขียนเลย เด๋วจาทำเป็น Sample เล็กมาให้ หลังจาก ทำ sample flex ธรรมดาเสร็จ)

เออเนื่องจากมันเน้นเอาไว้ทำ RIA จึงทำ drag n drop ง่ายๆ เช่น พวก list (list view) มันก็จามี attribute ประมาณว่า จาให้ drag ได้ป่าว จาให้ drop ได้ป่าว เลย

Wednesday, June 4, 2008

Getting start Macromedia Flex [part I]

กำลังหัดเขียน เพราะว่าต้องทำ RIA เด๋วว่างๆจามา เขียนคร่าวๆให้อ่านว่ามัน เขียนไง เอาไว้ทำอะไร

ง่ายๆมันคือ Flash นี่แหละ แต่เขียนเป็น XML เรียกว่า MXML และใช้ ActionScript เข้าไปด้วย

ถ้ามันทำเป็น App ก็จาไปรันผ่าน Adobe AIR ถ้าไปรันบนเวป ก็ใช้ Macromedia Flash ในการ render


Tools ใช้ Eclipse + plugin ไม่ก็ใช้ Flex builder 3 ซึ่งก็คือ eclipse ที่ customize มาให้ใช้เขียน flex (มัน base on eclipse )