PHP IDE for Eclipse

PDT เป็นเครื่องมือพัฒนา PHP บน Eclipse ซึ่งทำงานเชื่อมกับ Web Tools ที่มีอยู่แล้ว

เพิ่งออกรุ่น 1.0 มาเมื่อไม่ถึงสองอาทิตย์ก่อน (2007.09.18)
ต้องใช้กับ Eclipse 3.3 และ Java 5.0 ขึ้นไปเท่านั้น

update url: http://download.eclipse.org/tools/pdt/updates/

NetBeans สำหรับ Java*
Eclipse สำหรับที่เหลือ

*โดยเฉพาะ Java SE และ Java ME / และถ้า NetBeans 6.0 ออกเมื่อไหร่ ก็เพิ่ม Ruby on Rails ลงไปด้วย 😀

technorati tags:
,
,

5 Eclipse Plugins for Discovering Bad Code

Improving code with Eclipse plugins — developerWorks แนะนำ 5 ปลั๊กอิน สำหรับ Eclipse ที่จะช่วยหา “โค้ดแย่ ๆ” ให้คุณ

  • (ชื่อ — ใช้สำหรับตรวจสอบ/ตรวจหา… — Plug-in update URL)
  • CheckStyle — มาตรฐานการเขียนโค้ด (รูปแบบ, ชื่อ ฯลฯ) — http://eclipse-cs.sourceforge.net/update/
  • Coverlipse — ความครอบคลุมของชุดทดสอบ — http://coverlipse.sourceforge.net/update
  • PMD — โค้ดที่อาจจะเป็นบั๊ก ที่ไม่ถูกเรียกใช้ ที่ไม่มีประสิทธิภาพ ที่ซับซ้อนเกินจำเป็น ที่เหมือนกัน (จากการลอกแปะ) — http://pmd.sourceforge.net/eclipse/
  • JDepend — package dependency — http://andrei.gmxhome.de/eclipse/
  • Metrics — ความซับซ้อนของโค้ด — http://metrics.sourceforge.net/update

อ่านคำอธิบายโดยละเอียดได้ในบทความข้างต้น

[ลิงก์ developerWorks | ผ่าน OSNews]

technorati tags:
,
,
,

Matisse for Eclipse

ปฏิบัติการช็อคโลก … Matisse4MyEclipse

Matisse (form module) นี่เป็นตัวออกแบบหน้าจอผู้ใช้ (UI) ของ NetBeans IDE เค้า ถือว่าเป็นความสามารถแบบชูโรงของ NetBeans 5.0 เลย ชนิดเชิดหน้าชูตา และเรียกได้เต็มปากเต็มคำว่าเหนือกว่า Eclipse อยู่หลายขุม (และค่าย Eclipse เองก็ยังยอมรับ)

แล้วอยู่ดี ๆ บริษัท Genuitec ก็ทำวงการจาวาตกใจ ด้วยการพอร์ต Matisse มา Eclipse ซะเฉย ๆ ในชื่อว่า Matisse4MyEclipse กดลิงก์เข้าไปดูเดโม (Flash) ได้ … โดยจะเป็นส่วนหนึ่งของชุดพัฒนา MyEclipse (เหมือนจะไม่ฟรีแฮะ)

ผู้อำนวยการฝ่ายเครื่องมือจาวาของซัน Tim Cramer พูดถึงกรณีนี้ว่า “เป็นเรื่องดีต่อชุมชนจาวา”

ดู ๆ แล้วก็สนุกแฮะ … แล้วเมื่อไหร่ฝั่ง NetBeans จะพอร์ตพวก PHP, Python, Ruby, JavaScript ไปมั่งอ่ะ 😛

ชื่อ Matisse มาจากชื่อศิลปินชาวฝรั่งเศส Henri Matisse


ข่าวแถม: ซันเปิดซอร์ส UML, modeling tools ไปดูได้ที่ NetBeans Enterprise Pack 5.5 (ยังเป็นเบต้าอยู่)

My Eclipse Plug-ins list

จดไว้ กันลืม พักนี้ลงใหม่บ่อย

  • Subversion: http://subclipse.tigris.org/update_1.0.x
  • Web Tools: http://download.eclipse.org/webtools/updates/ *ลงไม่ได้ซักที ติด denpendency เต็มไปหมด
  • Ruby: http://rubyeclipse.sf.net/updatesite
  • Python: http://pydev.sf.net/updates
  • PHP: http://download.pipestone.com/eclipse/updates
  • Perl: http://e-p-i-c.sf.net/updates
  • JavaScript: http://www.interaktonline.com/ *ถ้าลง Web Tools ได้ ก็อาจจะไม่ต้องลงตัวนี้

Eclipse XML plug-ins

ปลั๊กอินของ Eclipse กันอีกแล้ว เยอะจริง ๆ – – (T-T)

ผมลงตัวแรกกะตัว WTP ไม่ได้อ่ะ โห dependency ยุ่บยั่บ ตัวแรก (EclipseXSLT) นั่นจะเอา WTP ส่วน WTP ก็จะเอา JEM, JEM ก็บอกจะเอา RCP (คือไรมั่งฟะ – -) … ไม่เอาล่ะ เลิก

Scripting with Eclipse

Eclipse plug-ins for popular scripting languages: Ruby, Python, PHP, and even Perl !

To install any of them to your Eclipse IDE:

  1. Click on Help → Software Updates → Find/Install from file menu in Eclipse.
  2. Select the radio button labeled, “search for new features to install”.
  3. Click on the “New Remote Site” button.
  4. Enter a name, and the url (any/all of these)
    • Ruby: http://rubyeclipse.sf.net/updatesite
    • Python: http://pydev.sf.net/updates
    • PHP: http://download.pipestone.com/eclipse/updates
    • Perl: http://e-p-i-c.sf.net/updates
  5. Click on “Finish”.
  6. A list of features will be presented, open the list and check the one labeled “RubyEclipse” / “PyDev for Eclipse”/ “phpeclipse” / “EPIC”.
  7. Click on “Next”.
  8. Follow the onscreen instructions to finish the automatic install.

SWT vs Swing

Eclipse is fast, NetBeans is slow.
SWT is fast, Swing is slow.

Myths?

The blog above said new NetBeans is getting faster, while new Eclipse is getting slower.

My own experience on NetBeans 3.x on Window, it is unacceptable slow. But for NetBeans 4.0 (also 4.1 Beta), it is a lot faster, responsive. It still takes few seconds to loaded up, but after that everything goes fine.

For Eclipse, Eclipse 2.0 on Windows and Linux is very fast, especially if you compare it with NetBeans in that time. For Eclipse 3.0, on Windows it is ok — not very fast but not too bad. On Linux, it is very slow and sometimes close itself without warning (this happended many times during my thesis time, hell).

Anyway, in general, I still recommend Eclipse for people who start develop Java. But as the project grows up, you may want to look for other IDE. JBuilder, IntelliJ, NetBeans, etc. Each IDE has its strength and weakness. Only few of them is suitable for your project (and when you change project, you may want to change IDE as well .. well, few people like to do that :P).

On another blog, OpenGL improvement in Java 2D makes Swing faster by 15%.

Use Eclipse to create GNOME app with Java

Eclipse + Java-GNOME Demo (Flash)

สาธิต (Flash) การเขียนโปรแกรมบน GNOME ด้วยภาษา Java, โดยใช้ไลบรารี Java-GNOME (เป็น binding ตัวนึง ที่ให้ภาษา Java เรียกใช้ไลบรารี GNOME และ GTK+ ได้).

IDE ในการสาธิตคือ Eclipse, ทำให้เห็นว่าการเขียนโปรแกรมบน GNOME ด้วยภาษา Java เป็นเรื่องง่ายๆ — แต่ไม่จำเป็นต้องใช้ Eclipse ก็เขียนได้นะ

Unrelated stuffs, of things of my interest

OpenBeOS เปลี่ยนชื่อเป็น Haiku แล้ว
quick note: BeOS เป็นระบบปฏิบัติการตัวหนึ่งที่นิยมพอสมควรในหมู่คนทำงานด้านกราฟิก แต่ตอนนี้เลิกพัฒนาไปแล้ว และตัวบริษัท BeOS ก็ถูกบริษัท Palm Source ที่ทำ PalmOS ซื้อไป. Haiku เป็นหนึ่งในโครงการหลายๆ อัน ที่พัฒนา BeOS ต่อ

—-

Eclipse 3.0 จะออกแล้ว
quick note: ภายในวันที่ 30 นี้ Eclipse เป็น Java IDE ที่เป็นที่นิยมมาก เริ่มพัฒนาโดย IBM ตอนนี้เป็นโอเพนซอร์ส มีปลั๊กอินดีๆ เพียบ ช่วยให้งานพัฒนาง่ายขึ้น นอกจาก Java แล้ว ก็ยังใช้งานกับภาษาอื่นๆ ได้ด้วย (ตามปลั๊กอิน) — ‘คู่แข่ง’ ของ Eclipse ก็คงจะเป็น NetBeans ซึ่งเป็นโครงการโอเพนซอร์สเหมือนกัน จาก Sun — Eclipse จะเป็นที่นิยมกว่า เนื่องจากมันเร็ว (ใช้ native code/widget หลายๆ ส่วน). แต่ถ้าพูดถึงการดีบัก หรือการออกแบบ GUI แล้ว NetBeans ดีกว่า (ได้รางวัลมาแล้วหลายรางวัล)

—-

Introduction to Windows Driver Foundation
quick note:โมเดลการพัฒนาดีไวซ์ไดรเวอร์ใหม่ จากไมโครซอฟต์ ยังไม่ได้อ่านรายละเอียด แต่เท่าที่ดูคร่าวๆ หลักๆ น่าจะเป็นการแยก kernel mode, user mode และส่วนอื่นๆ ออกจากกันอย่างชัดเจน เพื่อให้การพัฒนาแต่ละส่วนไม่กระทบกัน — ซึ่งจะลดงานทดสอบลงไปได้เยอะ

ถ้าพูดถึงคอนเซปต์โดยรวมแล้ว ในระดับที่สูงขึ้นไปอีก ก็อาจจะออกทำนอง SNAP ของ SciTech ได้ อันนั้นคือ แยกซอฟต์แวร์ส่วนที่ติดต่อกับระบบปฏิบัติการ ออกจากส่วนที่ติดต่อกับฮาร์ดแวร์

ถ้าทำทั้งหมดนี้ ก็คือเราจะได้ layer (ชั้น) ต่างๆ ออกมาเพียบเลย โดยแต่ละ layer ก็จะมี interface ที่ชัดเจน สำหรับการคุยกับอีก layer
– ข้อดีก็คือ จะทำให้การพัฒนาไดรเวอร์เร็วขึ้น คุณภาพดีขึ้น
(คือทดสอบได้ครอบคลุมขึ้น เนื่องจากมีจำนวนคู่ที่จะต้องทดสอบน้อยลง — เช่น 4 ฮาร์ดแวร์ (hw), 3 ระบบปฏิบัติการ (os) ถ้าตามโมเดล hw-driver-os ก็ต้องการ ไดรเวอร์ 12 ตัว (4×3) ก็ต้องทดสอบทั้ง 12 ตัว. แต่ถ้าเป็น hw-driverHW-driverOS-os ก็จะต้องการแค่ 7 ตัว (4+3) — ไปดูรูปได้ที่เวบของ SciTech — แบบนี้ก็จะลดงานเขียน, งานทดสอบลงไป)
– ข้อเสียที่อาจจะเป็นไปได้ ก็คือ มันจะทำให้มี overhead เพิ่มขึ้นรึเปล่า?

คำว่า overhead มักจะมาคู่กับคำว่า layer
อย่างคนที่บอกว่า Java ช้า บางคนว่า เพราะว่า Java มัน ‘overengineered’
คือออกแบบให้ modular มากเกินไป จนมีไม่รู้กี่ layer/interface
นอกจากจะทำให้รันช้าแล้ว ยังทำให้นักพัฒนาปวดหัว เพราะต้องมาเรียนรู้ interface ต่างๆ พวกนี้
ซึ่งพอยิ่งเยอะ ก็ยิ่งทำให้เรียนรู้ได้ไม่หมด ไม่ชำนาญ โค้ดที่ออกมาก็เลยห่วยๆ ยิ่งทำให้โปรแกรมช้าไปอีก

แต่จริงมันไม่น่าเกี่ยวกันมากนัก เพราะ layer/interface ต่างๆ เป็นแค่ข้อกำหนด ไม่ใช่ตัว implementation
ถ้ามีอะไรช้า ก็คือพัฒนาไม่ดีเอง
แต่ก็เป็นไปได้ที่ layer/interface ออกแบบมาห่วยมากๆ จนกระทั่งไม่สามารถ implement ให้ดีได้ .. จบกัน -_-“