Chawan เว็บเบราว์เซอร์ TUI
(chawan.net)- Chawan เป็น เว็บเบราว์เซอร์ TUI แบบใหม่ที่ทำงานบนเทอร์มินัลแบบข้อความ
- เวอร์ชัน 0.2.0 นี้มี ฟีเจอร์จำเป็นทั้งหมดของขั้น MVP ครบถ้วน และอยู่ในสถานะที่ไม่มีบั๊กร้ายแรง
- ต้องใช้ไลบรารี libssh2, libbrotli, OpenSSL/LibreSSL เท่านั้นเป็นข้อกำหนดหลัก และได้ตัด dependency จำนวนมากจากเวอร์ชันก่อนหน้าออกแล้ว
- มีให้ใช้งานทั้ง static binary และแพ็กเกจ .deb สำหรับ amd64 Linux ทำให้แจกจ่ายและติดตั้งได้สะดวก
- เวอร์ชันถัดไปตั้งเป้าไปที่ การปรับปรุงประสิทธิภาพของโมดูล layout และประสบการณ์ UI ที่ดียิ่งขึ้น
แนะนำ Chawan 0.2.0
Chawan เป็นโปรเจ็กต์โอเพนซอร์สของเว็บเบราว์เซอร์ขนาดเบาที่ใช้เทอร์มินัลยูสเซอร์อินเทอร์เฟซ (TUI) ออกแบบมาเพื่อให้ท่องเว็บได้อย่างสะดวกในสภาพแวดล้อมแบบข้อความ โดยเวอร์ชัน 0.2.0 นี้เป็นรีลีสเสถียรตัวแรกที่มีฟีเจอร์หลักครบถ้วนในระดับ Minimum Viable Product (MVP) และยังไม่มีรายงานบั๊กร้ายแรงสำคัญ
การแจกจ่ายและการติดตั้ง
- มี tarball ของ source tree ให้ใช้งาน และหากต้องการคอมไพล์เองสามารถทำตามคำแนะนำใน README ได้
- มีดิสทริบิวชัน static binary สำหรับ amd64 Linux ให้ใช้งาน สามารถแตกไฟล์อาร์ไคฟ์แล้วติดตั้งได้ง่ายด้วยคำสั่ง
make install- การลบออกทำได้ด้วย
make uninstall
- การลบออกทำได้ด้วย
- ดิสทริบิวชันเดียวกันนี้ยังมีในรูปแบบ แพ็กเกจ .deb ทำให้ติดตั้งได้ทันทีบนระบบที่ใช้ Debian เป็นฐาน
ข้อมูลสำหรับผู้ดูแลแพ็กเกจ
- runtime dependency ที่จำเป็นของ Chawan มีดังนี้:
- libssh2
- libbrotli (รวม libbrotlicommon และ libbrotlidec)
- OpenSSL (3.0 ขึ้นไป) หรือ LibreSSL (ทดสอบแล้วบน OpenBSD 7.7)
- ไลบรารีอย่าง zlib, libseccomp, termcap/ncurses, libcurl ที่เคยใช้ในเวอร์ชันพัฒนาก่อนหน้านี้ ไม่จำเป็นอีกต่อไปแล้ว จึงถูกนำออกจาก dependency
- หากเกิดปัญหาระหว่างการทำแพ็กเกจ ควรติดต่อผู้พัฒนาก่อนทำการแพตช์ เพราะมีโอกาสสูงที่จะสามารถแก้ปัญหาที่ต้นทางได้โดยตรง
แผนในอนาคต
- แม้รีลีส 0.2.0 นี้จะใช้เวลานานกว่าที่คาดไว้ แต่ก็เป็นเวอร์ชันที่ตัดสินใจปล่อยอย่างเป็นทางการหลังจากมีฟีเจอร์ MVP ครบถ้วนแล้ว
- สาขา v0.2 จากนี้จะเน้นเฉพาะ การแก้บั๊ก ส่วนการเพิ่มฟีเจอร์ใหม่จะดำเนินต่อบนสาขา master
- รีลีสถัดไปจะมุ่งเน้นที่ การปรับปรุงประสิทธิภาพและความแม่นยำของโมดูล layout และ การยกระดับความเป็นมิตรต่อผู้ใช้ของ UI
ความสำคัญและข้อดีของโปรเจ็กต์
- Chawan เป็นเว็บเบราว์เซอร์ที่ ปรับแต่งมาเพื่อสภาพแวดล้อมเทอร์มินัล ทำให้เข้าถึงเนื้อหาเว็บได้ในเซิร์ฟเวอร์และสภาพแวดล้อมที่มีทรัพยากรจำกัด
- แตกต่างจากเว็บเบราว์เซอร์แบบข้อความรุ่นเดิมด้วยการรองรับโปรโตคอลการเข้ารหัสและการบีบอัดสมัยใหม่ รวมถึงการลด dependency ให้เหลือน้อยที่สุด
- ด้วยความเป็นโอเพนซอร์ส จึงเหมาะต่อการขยายความสามารถเพิ่มเติมและการปรับแต่งให้ตรงความต้องการ
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ทุกครั้งที่เห็นโปรเจกต์ที่เขียนด้วย nim ก็รู้สึกดีเสมอ ให้ความรู้สึกว่า nim เป็นภาษาที่น่าสนใจที่สุดภาษาหนึ่ง อยู่กึ่งกลางระหว่าง C/C++ กับ python ประทับใจว่าผู้ใช้ในชุมชน nim มีผลิตภาพสูงมากเมื่อเทียบกับขนาดชุมชน ทำให้ยิ่งรู้สึกมั่นใจว่าความคิดที่มีต่อ nim น่าจะไม่ผิดนัก น่าเสียดายที่ nim ยังไม่เติบโตจนเป็นที่นิยมในวงกว้าง
คุณ shiomiru อยากทราบว่าแหล่งเรียนรู้ที่ดีที่สุดสำหรับทำความเข้าใจแนวคิดเกี่ยวกับ TTY คืออะไร ขอคำแนะนำได้ทั้งแบบฟรีและเสียเงิน รู้จัก บทความแนะนำ TTY ของ linusakesson.net อยู่แล้ว แต่ก็ตระหนักว่ามันไม่ได้อธิบายไปถึง termcap/terminfo/curses ในคอมเมนต์อื่นมีการพูดถึงหนังสือ O'Reilly's Termcap & Terminfo (อ่านออนไลน์ได้ที่นี่)
รู้สึกยินดีเสมอที่ได้เห็นแนวทางใหม่ ๆ สำหรับใช้ทดลองเล่นชั่วคราว โดยไม่ต้องไปใช้เอนจินอีกตัวที่อิง Chrome วันนี้ที่ได้เห็นอันนี้ก็เลยตื่นเต้นว่าจะลองทดสอบเองหลังเลิกเรียน ขอแนะนำ terminal port ของ chromium: carbonyl ว่าเป็นทางเลือกที่เจ๋งมาก โดยเฉพาะในสภาพแวดล้อมที่ไม่มี sixel ผู้สร้างต้นฉบับไม่ได้พัฒนาอย่างจริงจังต่อแล้ว ฟีเจอร์เลยยังจำกัดมาก และยังไม่รองรับหลายอย่าง เช่น คีย์ลัด การบันทึกไฟล์ ฯลฯ แต่ความเข้ากันได้กับ Web และความสดใหม่ของมันน่าประทับใจมาก หวังว่าจะมีคนที่ถนัด rust มาสานต่อโปรเจกต์นี้ ตอนที่ดูเมื่อไม่กี่เดือนก่อนก็ยังไม่มี fork ยอดนิยม
ชอบโปรเจกต์แบบนี้มาก อยากให้มีลิสต์รวมเว็บไซต์ที่เป็น text-based ส่วนตัวมีสองเว็บที่ชอบคือ plaintextsports.com กับ lite.cnn.com
เจ๋งมาก ลองคอมไพล์จากซอร์สบน Lenovo M8 Gen 4 ด้วย termux แล้ว ต้องติดตั้งแค่ nim เท่านั้น ประทับใจที่ติดตั้งได้เรียบร้อยโดยไม่ต้องใช้ผู้ใช้ root
เป็นงานที่สวยงามมาก อยากลองใช้งานจริงกับงานหลายแบบเพื่อดูว่ามันไปได้ไกลแค่ไหน HN อ่านง่ายมาก
ผมพยายามทำให้เว็บไซต์ของตัวเองดูดีใน Links อยู่เสมอ และตอนนี้ก็ดูเหมือนจะมีตัวเลือกใหม่เพิ่มมาให้ลุ้น ด้วยการรองรับ CSS บางส่วน ทำให้มีเรื่องต้องคิดเพิ่ม เช่น การจัดระยะห่างระหว่างองค์ประกอบ ใน Links นั้น margin/padding จะถูกมองข้ามทั้งหมด เลยจัดเมนูและอะไรต่าง ๆ ให้อยู่เรียงบนบรรทัดเดียวได้ง่าย แต่ตอนนี้สถานการณ์เริ่มซับซ้อนขึ้นแล้ว
โปรเจกต์นี้เจ๋งมาก และยิ่งชื่นชมที่ทำด้วย nim แต่พอลองพิมพ์
cha example.comกลับงงมากเพราะไม่รู้วิธีใช้คำสั่งพื้นฐานอย่าง hjkl เลย กดตัวเลขแล้วมีแสดงที่มุมซ้ายล่าง แต่ก็นอกนั้นไม่มีอะไรตอบสนองเลย ลองคอมไพล์เองบน MacOS Sequoia 15.5 Apple Silicon กับ Nim 2.24 หน้าเว็บโหลดได้ปกติ แต่คำสั่งไม่ทำงาน ไม่แน่ใจว่าตัวเองพลาดอะไรไปหรือว่านี่คือบั๊กรู้สึกว่าน่าสนใจที่เลิกใช้ termcap/ncurses แล้ว หมายความว่าจัดการเทอร์มินัลเองทั้งหมดใช่ไหม
ประทับใจที่บน macOS สั่ง
makeแค่ครั้งเดียวก็ build ได้ง่าย ๆ ดีใจที่มีตัวแทนสมัยใหม่ของ elinks