กลับไปหน้าบทความ

อ่าน 4 นาที

ซีไซด์ (ซอฟต์แวร์)

Seasideซึ่งเป็นคำย่อของ “Squeak Enterprise Aubergines Server with Integrated Development Environment” คือซอฟต์แวร์ คอมพิวเตอร์ เฟรมเวิร์กสำหรับพัฒนาเว็บแอป พลิ เค ชัน

ซีไซด์ (ซอฟต์แวร์)

ชายทะเล
นักพัฒนาทีมซีไซด์[ 1 ]
ปล่อย2002 ( 2002 )
เวอร์ชันเสถียร
3.5.9 / 25 ตุลาคม 2024 [ 2 ] ( 25 ตุลาคม 2024 )
เขียนเป็นการสนทนาเล็กๆ น้อยๆ
ระบบปฏิบัติการข้ามแพลตฟอร์ม
แพลตฟอร์มIA-32 , x86-64 , ARM
มีจำหน่ายในภาษาอังกฤษ
พิมพ์เฟรมเวิร์กเว็บ
ใบอนุญาตเอ็มไอที
เว็บไซต์www.seaside.st แก้ไขข้อมูลนี้บนวิกิดาต้า
ที่เก็บข้อมูล
  • github.com/SeasideSt/Seaside

Seasideซึ่งเป็นคำย่อของ “Squeak Enterprise Aubergines Server with Integrated Development Environment” คือซอฟต์แวร์ คอมพิวเตอร์ เฟรมเวิร์กสำหรับพัฒนาเว็บแอป พลิ เค ชัน ด้วยภาษาโปรแกรมSmalltalkโดยเผยแพร่เป็นซอฟต์แวร์โอเพนซอร์สฟรีภายใต้ใบอนุญาต MIT

Seaside มีสถาปัตยกรรมส่วนประกอบซึ่งสร้างเว็บเพจ เป็นโครงสร้าง ต้นไม้ของส่วนประกอบแต่ละส่วนที่มีสถานะโดยแต่ละส่วนประกอบจะห่อหุ้มส่วนเล็ก ๆ ของเพจไว้ Seaside ใช้continuationsเพื่อจำลองการไหลอิสระหลายรายการระหว่างส่วนประกอบต่าง ๆ[ 3 ]ดังนั้นจึงเป็นเฟรมเวิร์กเว็บที่ใช้ continuation [ 4 ]โดยอาศัยความสามารถในการจัดการสแต็กการทำงานของการใช้งานSmalltalk บาง อย่าง

คุณสมบัติหลัก

แม้ว่าการปรับปรุงการจัดการสถานะใน เอนจิ้น JavaScript ของเว็บเบราว์เซอร์ในภายหลัง จะทำให้แง่มุมนี้มีความสำคัญน้อยลงในปัจจุบัน แต่วิธีการจัดการสถานะของเบราว์เซอร์ของ Seaside (ผ่านcontinuations ) ถือเป็นจุดสนใจในช่วงปีแรก ๆ หลังจากการเปิดตัวในปี 2002 กลไกนี้ช่วยให้สามารถย้อนกลับและดำเนินการต่อได้ ซึ่งช่วยแก้ปัญหาทั่วไปหลายประการที่เกิดขึ้นกับแอปพลิเคชันเว็บที่กำลังทำงานอยู่ และรักษาสถานะบนฝั่งเซิร์ฟเวอร์ได้อย่างเพียงพอแม้ว่าจะใช้ปุ่ม 'ย้อนกลับ' 'ไปข้างหน้า' หรือ 'รีเฟรช' ของเว็บเบราว์เซอร์ก็ตาม เซิร์ฟเวอร์ที่ใช้ continuations ช่วยให้นักพัฒนาสามารถรักษาสถานะบนเซิร์ฟเวอร์ในลักษณะที่ปรับขนาดได้[ 5 ]

คุณลักษณะเด่นของ Seaside คือสภาพแวดล้อมการพัฒนาแบบบูรณาการ ซึ่งช่วยให้เข้าถึงเครื่องมือการพัฒนาและการสนับสนุนการดีบักภายในแอปพลิเคชัน ในโหมดการพัฒนา ข้อผิดพลาดที่ไม่ได้รับการจัดการจะถูกรายงานไปยังเว็บเพจ นักพัฒนาสามารถเข้าถึงและแก้ไขรหัสโปรแกรมและสถานะได้โดยตรงจากเว็บเพจ ทำให้กระบวนการระบุและแก้ไขข้อบกพร่องเกิดขึ้นภายในสภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) [ 6 ]

แอปพลิเคชัน Seaside คือชุดของส่วนประกอบที่ทำงานร่วมกัน แต่ละส่วนประกอบจะจัดเก็บสถานะระหว่างการแสดงผลหน้าเว็บ และสามารถแสดงผลตัวเองลงใน สตรีม HTMLได้ ดังนั้นจึงเขียนส่วนประกอบเพียงครั้งเดียวแล้วนำไปใช้ซ้ำในส่วนอื่น ๆ ของแอปพลิเคชันได้อย่างง่ายดาย นอกจากนี้ Seaside ยังรองรับแนวคิดของงาน (tasks) ซึ่งช่วยให้นักเขียนโปรแกรมสามารถอธิบายตรรกะระดับสูงของการทำงานร่วมกันของส่วนประกอบได้

Seaside ไม่ได้เน้นการใช้เทมเพลต และไม่มีฟังก์ชันในการสร้างหรือใช้เทมเพลต HTML การสร้างมาร์กอัป HTML จะทำโดยโปรแกรม ( เฟรมเวิร์กการจัดการเนื้อหา Pier ที่ใช้ Seaside มีไวยากรณ์ wiki-markup สำหรับการสร้างเทมเพลต) Seaside ใช้callbackบนclosureเพื่อระบุการกระทำที่จะเกิดขึ้นเมื่อคลิกที่ลิงก์หรือส่งแบบฟอร์ม นักพัฒนาและผู้ใช้ Seaside โต้แย้งว่าวิธีนี้ช่วยบังคับใช้การแยกโครงสร้าง (มาร์กอัป) ออกจากเนื้อหาและการนำเสนอ ( Cascading Style Sheets (CSS)) [ 7 ]การผสมผสานระหว่างคอมโพเนนต์ callback และ closure ของ Seaside สามารถลดช่องว่างทางความหมายระหว่างเวิร์กโฟลว์ที่ซับซ้อนและการแสดงผลในโค้ดได้อย่างมาก[ 8 ]

Seaside รองรับAjaxผ่านการผสานรวมกับscript.aculo.usและjQueryนอกจากนี้ Seaside ยังรองรับเทคโนโลยี server-push แบบComet อีกด้วย [ 9 ] Seaside สามารถทำงานได้กับเว็บเซิร์ฟเวอร์ที่ใช้ Smalltalk หรือเว็บเซิร์ฟเวอร์อื่นๆ ที่ไม่ใช่ Smalltalk (Nginx, Apache)

ปรัชญา

ในช่วงไม่กี่ปีที่ผ่านมา แนวทางปฏิบัติที่ดีที่สุดบางประการได้รับการยอมรับอย่างกว้างขวางในวงการพัฒนาเว็บไซต์:

  • แบ่งปันข้อมูลของรัฐให้น้อยที่สุดเท่าที่จะเป็นไปได้
  • ใช้ URLที่สะอาด สุภาพ และมีความหมาย
  • ใช้เทมเพลตเพื่อแยกโมเดลออกจากงานนำเสนอ

Seaside จงใจฝ่าฝืนกฎเหล่านี้ทั้งหมด Avi Bryant ซึ่งขณะนั้นทำงานอยู่ที่ Dabble DB ในปี 2006 ได้อธิบายว่าเป็นกรอบการทำงานที่ 'นอกรีต' โดยโต้แย้งว่าการปฏิเสธภูมิปัญญาดั้งเดิมของการพัฒนาเว็บอย่างรอบคอบและมีเหตุผลนี้ นำไปสู่รูปแบบที่มีประสิทธิภาพมากสำหรับการพัฒนาเว็บแอปพลิเคชัน[ 10 ]

ท่าเรือ

การพัฒนาหลักของ Seaside นั้นดำเนินการในPharo Smalltalk [ 11 ]มีพอร์ตสำหรับ Smalltalk เวอร์ชันอื่นๆ การพัฒนา Seaside ครั้งแรกนั้นทำบนSqueakในช่วงต้นทศวรรษ 2000 Michel Bany ได้นำพอร์ตไปยังVisualWorksผ่าน Seaside เวอร์ชัน 2.7; Cincom Systemsสนับสนุน Seaside เป็นส่วนหนึ่งของVisualWorksตั้งแต่ต้นปี 2008 Instantiations ประกาศการสนับสนุน Seaside ในแพลตฟอร์ม VAST (VA Smalltalk) เวอร์ชัน 8.0 ในปี 2009 แพลตฟอร์ม VAST ยังคงสนับสนุน Seaside อย่างต่อเนื่องจนถึงเวอร์ชันล่าสุด Esteban Maringolo ดูแลพอร์ต 2.8 รวมถึงส่วนเสริมอื่นๆ (เช่นscript.aculo.us ) สำหรับDolphin Smalltalk X6 [ 12 ] Gemstone Systems ได้นำพอร์ตไปยังGemstone/ S [ 13 ] พอร์ตเวอร์ชัน 2.8 เสร็จสมบูรณ์สำหรับ GemStone [ 14 ]และเวอร์ชันเบื้องต้นของ 3.0 ทำงานบนGNU Smalltalk 3.0a และเวอร์ชันต่อมา[ 15 ]

แพ็คเกจเว็บเซิร์ฟเวอร์ในไลบรารีมาตรฐานของRacket (ภาษาโปรแกรม)ใช้ปรัชญาที่คล้ายคลึงกันมาก โดยอิงจากคอนทินิวเอชันเช่นกัน[ 16 ]

คำวิจารณ์

โครงการโอเพนซอร์สที่ใช้มัน

โครงการโอเพนซอร์สจำนวนมากใช้ Seaside ซึ่งบางส่วนได้แก่:

  • Magritte – กรอบงานเมตาดีสคริปชันที่ผสานรวมเข้ากับ Seaside อย่างแน่นหนา
  • Pier – ระบบจัดการเนื้อหาและกรอบงานแอปพลิเคชันระดับสูงสำหรับ Seaside
  • โครงการ ADK

โครงการที่เป็นกรรมสิทธิ์ซึ่งใช้งานสิ่งนี้

โครงการที่เป็นกรรมสิทธิ์หลายโครงการใช้ Seaside ซึ่งบางส่วนได้แก่:

ดูเพิ่มเติม

  • เว็บไซต์อย่างเป็นทางการ
  • เว็บไซต์อย่างเป็นทางการ
  • ชายทะเลบนGitHub
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Seaside_(software)&oldid=1327816740 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ซีไซด์ (ซอฟต์แวร์)

Seasideซึ่งเป็นคำย่อของ “Squeak Enterprise Aubergines Server with Integrated Development Environment” คือซอฟต์แวร์ คอมพิวเตอร์ เฟรมเวิร์กสำหรับพัฒนาเว็บแอป พลิ เค ชัน

คุณสมบัติหลัก

แม้ว่าการปรับปรุงการจัดการสถานะใน เอนจิ้น JavaScript ของเว็บเบราว์เซอร์ในภายหลัง จะทำให้แง่มุมนี้มีความสำคัญน้อยลงในปัจจุบัน แต่วิธีการจัดการสถานะของเบราว์เซอร์ของ Seaside (ผ่าน continuations ) ถือเป็นจุดสนใจในช่วงปีแรก ๆ หลังจากการเปิดตัวในปี 2002...

ปรัชญา

ในช่วงไม่กี่ปีที่ผ่านมา แนวทางปฏิบัติที่ดีที่สุดบางประการได้รับการยอมรับอย่างกว้างขวางในวงการพัฒนาเว็บไซต์:

ท่าเรือ

การพัฒนาหลักของ Seaside นั้นดำเนินการใน Pharo Smalltalk [ 11 ] มีพอร์ตสำหรับ Smalltalk เวอร์ชันอื่นๆ การพัฒนา Seaside ครั้งแรกนั้นทำบน Squeak ในช่วงต้นทศวรรษ 2000 Michel Bany ได้นำพอร์ตไปยัง VisualWorks ผ่าน Seaside เวอร์ชัน 2.