CouchDB เป็นตัวอย่างของ Server Side Javascript หรือไม่

ฉันกำลังดูการใช้ฝั่งเซิร์ฟเวอร์ Javascript และดูที่ persevere/pintura แต่สำหรับมือใหม่เช่นฉัน ฉันต้องการเอกสารและบทช่วยสอนเพิ่มเติม และดูเหมือนว่า CouchDB จะมีส่วนนั้นมากมาย แต่มันถูกใช้เป็นเครื่องมือ js ฝั่งเซิร์ฟเวอร์หรือไม่

ขอแสดงความนับถือ


person RubyGladiator    schedule 19.08.2010    source แหล่งที่มา
comment
ลองคิดใหม่ว่าคำตอบใดถูกต้อง   -  person Nek    schedule 26.06.2012
comment
ขอบคุณครับ รับทราบและรับทราบแล้ว!!   -  person RubyGladiator    schedule 26.06.2012
comment
ยินดีที่ได้เห็นคำตอบ ฉันถือว่าตรวจสอบได้ดีที่สุด :)   -  person Nek    schedule 26.06.2012


คำตอบ (5)


ใช่ (รองสิ่งที่ @Pointy พูดข้างต้น) JavaScript ใน CouchDB ทำงานฝั่งเซิร์ฟเวอร์ :)

นอกเหนือจากนั้น JavaScript ใน CouchDB ยังสามารถทำได้มากกว่าแค่แมป/ลดการสืบค้น นอกจากนี้ยังใช้สำหรับการตรวจสอบเอกสาร การจัดการการอัปเดต (สำหรับการประมวลผล XML POSTed ไปยัง CouchDB เป็นต้น) เช่นเดียวกับ HTML หรือเอาต์พุตมาร์กอัปอื่นๆ จากเอกสาร JSON เดียว (โดยใช้ _show) หรือจากผลลัพธ์ของแผนที่/ลดการสืบค้น (โดยใช้ _รายการ).

อย่างไรก็ตาม CouchDB ไม่ได้เสนอการเข้าถึงระบบไฟล์หรือตัวฟัง TCP/IP เหมือนกับที่ Node.js ทำ ขณะนี้ JavaScript มุ่งเน้นไปที่ "การจัดส่งและการจัดการ" สำหรับเนื้อหาฐานข้อมูล (สิ่งต่างๆ เช่น การตรวจสอบความถูกต้อง การจัดรูปแบบ และการสืบค้น)

หากคุณสนใจที่จะมองหาตัวเลือกในการจัดการสิ่งต่าง ๆ ที่ CouchDB ไม่ได้ทำ "ภายใน" (การประมวลผลภาพ การส่งอีเมล ฯลฯ) คุณสามารถดูคำตอบของฉันเกี่ยวกับ ตัวเลือกสถาปัตยกรรม CouchApp

CouchApp เป็นตัวเลือกที่เหมาะสมสำหรับเว็บแอปอย่างแน่นอน เมื่อรวมกับการจำลองแบบแล้ว ก็ยากที่จะเอาชนะได้

person BigBlueHat    schedule 14.11.2010
comment
ขอบคุณสำหรับคำตอบและตัวเลือกสถาปัตยกรรม CouchApp โพสต์ของคุณ ก็มีประโยชน์มากเช่นกัน - person vincentlcy; 21.02.2013

http://nodejs.org/ เป็นตัวอย่างที่ดีสำหรับจาวาสคริปต์ฝั่งเซิร์ฟเวอร์ หากคุณไม่ต้องการเขียนเว็บแอปที่สมบูรณ์บน NodeJS คุณสามารถทริกเกอร์มันได้โดยใช้คำสั่ง node

person Marcel Jackwerth    schedule 19.08.2010
comment
ฉันจะไม่รังเกียจที่จะเขียน Nodejs เว็บแอปทั้งหมดของฉัน ฉันเคยสอนการแชทเมื่อสองสามเดือนก่อน แต่ไม่มีความรู้เกี่ยวกับวิธีการทำงานเบื้องต้น ฉันกำลังตรวจสอบอยู่ - person RubyGladiator; 20.08.2010

CouchDB เป็นฐานข้อมูลที่มีคุณสมบัติที่น่าสนใจ ซึ่งช่วยให้คุณสามารถโต้ตอบผ่าน RestFull api ทำให้เหมาะอย่างยิ่งสำหรับการเข้าถึงผ่านทางเว็บ ทั้งใน Javascript หรือสภาพแวดล้อมไคลเอนต์อื่น ๆ หากคุณกำลังมองหาสภาพแวดล้อมการพัฒนาจาวาสคริปต์ฝั่งเซิร์ฟเวอร์ ลองใช้ Servoy ช่วยให้สามารถพัฒนาแอปพลิเคชันฝั่งเซิร์ฟเวอร์ที่มีคุณสมบัติครบถ้วนในจาวาสคริปต์ รวมถึงการเข้าถึงฐานข้อมูลได้อย่างง่ายดายไปยังฐานข้อมูลหลักทั้งหมด

person Bitsplitter    schedule 14.11.2010

คำตอบสั้น ๆ : ใช่

คำตอบอีกต่อไป:

มี Javascript Engine ที่มาพร้อมกับ CouchDB ซึ่งก็คือ SpiderMonkey (ตัวแรกสุด เอ็นจิ้นโอเพ่นซอร์สเขียนโดย Brendan Eich ผู้สร้างจาวาสคริปต์)

ฟังก์ชัน View ของ CouchDB คือฟังก์ชัน JavaScript ที่ทำงานฝั่งเซิร์ฟเวอร์ซึ่งทำหน้าที่เป็นแผนที่ครึ่งหนึ่งของการดำเนินการลดขนาดแผนที่เพื่อสร้างมุมมอง

จากนั้นก็มี javascript API ฝั่งไคลเอ็นต์ ซึ่งสามารถใช้เพื่อสื่อสารกับเลเยอร์ REST เพื่อดึงข้อมูล/อัปเดตเอกสาร ซึ่งเป็นที่ที่ CouchDB ใช้ jQuery เช่นกัน

ข้อมูลเพิ่มเติมเกี่ยวกับความสามารถจาวาสคริปต์ทั้งฝั่งเซิร์ฟเวอร์และฝั่งไคลเอ็นต์ของ CouchDB:

เอ็นจิ้นเริ่มต้นสามารถทำคุณสมบัติได้มากมาย ในขณะที่ความพร้อมใช้งานของแพ็คเกจนั้นมีจำกัดเมื่อเทียบกับ Node.js Kan.so ถือเป็น NPM สำหรับ CouchDB โดยที่บางแพ็คเกจอยู่ฝั่งเซิร์ฟเวอร์ ตัวอย่างเช่น มีเฟรมเวิร์กเช่น ความเป็นคู่ ที่พยายามใช้ประโยชน์จากทั้งฝั่งเซิร์ฟเวอร์และฝั่งไคลเอ็นต์ ความสามารถจาวาสคริปต์ในการใช้โค้ดซ้ำสำหรับการเรนเดอร์ด้วย couchDB

เพิ่มเติมเกี่ยวกับเครื่องยนต์:

(การเลือก Spider Monkey บน v8 นั้นเป็นเพราะในกรณีการใช้งานของ couchDB การลดขนาดแผนที่ไม่ได้ออกแบบมาสำหรับ v8 นอกจากนี้ยังรวมถึงบรรจุภัณฑ์ มัลติเธรด และเหตุผลทางประวัติศาสตร์ v8 ไม่มีอยู่ในเวลานั้นเมื่อเลือก SpiderMoney) ดู [รายชื่อผู้รับจดหมาย ] และ ทวีต2

มีแม้กระทั่งโปรเจ็กต์ที่จะย้าย CouchDB ทั้งหมดไปยัง Node.js (เช่น แทนที่จะเป็น Erlang), เชสเตอร์ฟิลด์

ฉันดีใจถ้ามีคนเพิ่มว่า Erlang พูดคุยกับเอ็นจิ้นจาฟสคริปต์ได้อย่างไร ขอบคุณสำหรับคำตอบของทุกคน นี่เป็นสิ่งสำคัญที่ต้องทำให้ชัดเจนสำหรับคนอย่างฉันที่ทำให้ couchDB ยุ่งวุ่นวายกับแพ็คเกจ Node.js บางอย่าง

person vincentlcy    schedule 21.02.2013

ไม่ CouchDB เป็นฐานข้อมูลเชิงเอกสารที่สามารถสืบค้นและจัดทำดัชนีในรูปแบบ MapReduce โดยใช้ JavaScript CouchDB ยังมีการจำลองแบบส่วนเพิ่มด้วยการตรวจจับข้อขัดแย้งและการแก้ไขแบบสองทิศทาง

http://couchdb.apache.org/

CommonJS สามารถใช้กับ JavaScript ฝั่งเซิร์ฟเวอร์ได้ ดูที่นี่: http://www.commonjs.org/

NodeJS เป็นอย่างอื่น: http://nodejs.org/

person SQLMenace    schedule 19.08.2010
comment
ขอบคุณ ฉันได้เรียนรู้ javascript, ruby, html, css แล้ว และไม่ได้กังวลกับแบ็กเอนด์ คุณช่วยแสดงรายการเครื่องมือที่จำเป็นในการใช้จาวาสคริปต์จากฝั่งไคลเอ็นต์ไปจนถึงฝั่งเซิร์ฟเวอร์ได้ไหม ฉันคิดว่าฐานข้อมูลและฝั่งเซิร์ฟเวอร์ครอบคลุมพื้นที่เดียวกันโดยมีการทับซ้อนกันเล็กน้อย แต่ฉันเดาว่าไม่ ฉันกำลังตรวจสอบลิงก์ที่คุณเล่นเกมฉัน ขอบคุณ - person RubyGladiator; 20.08.2010
comment
JS ยังใช้สำหรับการตรวจสอบและสร้างรายการและมุมมองในรูปแบบที่แตกต่างกัน ด้วย Couchapp คุณสามารถเขียนเว็บแอปที่สมบูรณ์ซึ่งโฮสต์บน CouchDB และส่วนที่เคลื่อนไหวได้เขียนด้วย JS ซึ่งรันโฮสต์ในเซิร์ฟเวอร์ - person Peter Tillemans; 20.08.2010
comment
มันดูเท่และเรียบง่ายจริงๆ สิ่งเดียวที่น่ากังวลคือข้อจำกัดของคำในคำอธิบาย ฉันจะอ่านเอกสารเพื่อตรวจสอบ CouchApps คือแอปพลิเคชัน JavaScript และ HTML5 ที่ให้บริการโดยตรงจาก CouchDB หากคุณสามารถปรับแอปพลิเคชันของคุณให้เข้ากับข้อจำกัดเหล่านั้นได้ คุณจะได้รับความสามารถในการปรับขนาดและความยืดหยุ่นของ CouchDB ได้ฟรี - person RubyGladiator; 20.08.2010
comment
@SQLMenace No ไม่ใช่คำตอบที่ถูกต้องจริงๆ เนื่องจาก CouchDB (ผ่านการผสานรวมกับ SpiderMonkey) จริง ๆ แล้ว ไม่ อนุญาตให้ Javascript ทำงานในเซิร์ฟเวอร์สำหรับสิ่งต่าง ๆ เช่น map/reduce ตามที่คุณพูด มันอยู่บนเซิร์ฟเวอร์ และใช้ Javascript อยู่ แล้วนั่นจะไม่ใช่ Javascript ฝั่งเซิร์ฟเวอร์ได้อย่างไร โดยทั่วไปคำนี้หมายถึง ไม่ใช่ในเว็บเบราว์เซอร์ที่ทุกคนยังคาดหวังให้เป็นเช่นนั้น - person Pointy; 20.08.2010
comment
คุณกำลังผสมผสานแนวคิดที่แตกต่างกัน CommonJS เป็นมาตรฐานห้องสมุด มันไม่มีประโยชน์อะไรในตัวมันเอง CouchDB ใช้ CommonJS ลิงก์พิสูจน์ แสดงว่าคุณกำลังขัดแย้งกับตัวเอง - person Nek; 02.02.2011