ArcGIS Web APIs แตกต่างกันอย่างไร (JavaScript / WPF / Silverlight / Flex)


28

ปัจจุบัน Esri มีAPI ของเว็บ 3 แบบที่สามารถดาวน์โหลดได้อย่างอิสระ

พวกเขาเท่ากันทั้งหมดหรือไม่

ถ้าไม่จุดแข็ง / จุดอ่อนที่สัมพันธ์กันของ API แต่ละตัวเหล่านี้คืออะไร


คงจะดีถ้าเรามี 3 คำตอบและ "อนุญาต" การแก้ไขเพื่อเพิ่มหรือขยายแต่ละครั้งเมื่อเวลาผ่านไป สิ่งนี้ละเมิดนโยบาย GSE หรือไม่
แบรดเนสซัม

1
@Brad เนื่องจากนี่เป็นวิกิชุมชนผู้ที่มีตัวแทนอย่างน้อย 100 คนสามารถแก้ไขโพสต์ใดก็ได้ ฉันไม่รู้วิธี "อนุญาต" แก้ไขเฉพาะโพสต์ 3 รายการ OTOH อาจมีคำตอบที่ละเอียดยิ่งขึ้นจะอนุญาตให้ผู้ใช้ลงคะแนนว่าโปรหรือการต่อต้านแต่ละรายการนั้นเกี่ยวข้องกันอย่างไร ดังนั้นบางทีฉันควรแบ่งคำตอบออกเป็น 5 คำตอบ?
Kirk Kuykendall

ฉันคิดว่าพวกเขาเท่าเทียมกัน; บางทีวิธีที่ดีกว่าในการตอบคือการอธิบายว่าพวกเขาต่างกันอย่างไร
mwalker

@mwalker ตกลงเปลี่ยนชื่อแล้ว
Kirk Kuykendall

1
สรุปที่ดีในการประชุมผู้ใช้ Esri ประจำปี 2554 คำถาม & คำตอบ: events.esri.com/uc/QandA/…
Derek

คำตอบ:


13

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

นอกจากนี้ผลกระทบของจุดแข็ง / จุดอ่อน (ความแตกต่าง) ในแต่ละ API จะแตกต่างกันไปตามผู้ชม โปรแกรมเมอร์จะสนใจคุณสมบัติหรือข้อเสียของภาษากลุ่มเครือข่ายของคุณต้องการทราบข้อกำหนดเกี่ยวกับแบนด์วิดท์และข้อกำหนดเบื้องต้นของเซิร์ฟเวอร์ส่วนบุคคล GIS จะกังวลอย่างยิ่งว่าแผนที่ที่แสดงนั้นแสดงผลอย่างแท้จริงและผู้ใช้ของคุณสนใจน้อยมาก และเพียงแค่ต้องการทำสิ่งที่พวกเขาเริ่มทำ

ดังนั้นนี่คือรายการสำคัญบางอย่างเกี่ยวกับ API ทั้งสาม:

  • การจัดการทรัพยากรข้ามโดเมน : Silverlight และ Flex สามารถใช้ไฟล์ "นโยบายข้ามโดเมน" ที่มีอยู่ในเซิร์ฟเวอร์ TARGET ดังนั้นผู้เผยแพร่แผนที่บุคคลที่สามอาจอนุญาตให้คุณเข้าถึงพวกเขา ด้วย Javascript API มักจะมีการจัดการคำขอข้ามโดเมนโดยการใช้ "หน้าพร็อกซี" โดยใช้ภาษาฝั่งเซิร์ฟเวอร์ที่คุณเลือก (PHP, JSP, ASP, ฯลฯ ) "ข้อกำหนดที่อ่อนนุ่ม" นี้ไม่ใช่ปัญหาใหญ่สำหรับเซิร์ฟเวอร์ส่วนใหญ่ แต่เพิ่มความซับซ้อนอีกชั้น โปรดทราบว่าไม่มีอะไรหยุดคุณจากการใช้หน้าพร็อกซีเดียวกันกับปลั๊กอิน API หากทรัพยากรที่คุณต้องการไม่เปิดเผยไฟล์ข้ามโดเมนที่จำเป็น

  • กราฟิก : Silverlight และ Flex ทั้งสองแบบช่วยให้คุณสามารถระบายสีพิกเซลใดก็ได้บนหน้าจอผู้ใช้ Javascript ยังอนุญาตให้ทำได้เช่นกัน แต่คุณสามารถโอเวอร์โหลดความจุของเบราว์เซอร์ได้อย่างรวดเร็วโดยไม่ต้องใช้รหัสและการเตรียมการอย่างระมัดระวัง ในทำนองเดียวกันการทำงานโดยตรงกับรูปแบบไบนารีหรือปริมาณการใช้เครือข่ายสามารถทำได้ใน Javascript ด้วยความช่วยเหลือของบริการเว็บ

  • นักพัฒนาสภาพแวดล้อม : ฉันลำเอียงที่นี่ Silverlight เป็นที่ชื่นชอบสำหรับการพัฒนา สภาพแวดล้อมของ Visual Studio นั้นมีความรวดเร็วและมีตัวดีบักที่ดีที่สุด Javascript มาเป็นที่สอง เครื่องมือที่มีตอนนี้ดีขึ้นกว่าเดิมและปรับปรุงอยู่ตลอดเวลา แต่เราไม่สามารถหลบหนีจากคำสาปของ "เจ้าต้องทดสอบกับเบราว์เซอร์ที่รองรับทั้งหมดแล้วแก้ไขสิ่งแปลก ๆ ที่เกิดขึ้น" ดูเหมือนว่าสภาพแวดล้อมแบบ Flex และแบบโบราณและเป็นอุปสรรคต่อการพัฒนา


2
มันเป็นฝันร้ายที่จะดีบัก javascript! อย่างน้อยสำหรับฉัน
George Silva

3
@ George ระหว่างดีบักเกอร์ builtin ของ Chrome Firebug และ IE Developer Toolbar ตอนนี้ก็ไม่ได้เลวร้ายอย่างที่เคยเป็นมา
mwalker

9

ข้อเสียของ Silverlight / WPF

  • ต้องใช้ปลั๊กอิน
  • อนาคตมีความแน่นอนน้อยกว่าจาวาสคริปต์ (HTML5)

ข้อดีของ Silverlight / WPF

  • สนับสนุนอย่างเต็มที่โดย Visual Studio
  • มีการรองรับมัลติเธรดที่ดีกว่า (อย่างน้อยเมื่อเทียบกับเฟล็กซ์ )
  • การสนับสนุน SOAP ที่ดีขึ้น (SOAP ของ Esri นั้นสมบูรณ์กว่า REST)

1
Silverlight ดูเหมือนว่าจะมีข้อได้เปรียบมากมายสำหรับนักพัฒนาไม่มากนักสำหรับฐานผู้ใช้ที่กว้างขวาง ...
DavidF

1
@DavidF - ฉันจะบอกว่ามันถูกออกแบบมาสำหรับผู้ใช้ระดับองค์กรที่มี sharepoint, .net และแอปพลิเคชั่นดังกล่าวติดตั้งและใช้งานอยู่แล้วในทุกเครื่อง ดังนั้นการปรับใช้เครื่องมากกว่า 20,000 เครื่องจึงค่อนข้างง่าย
dassouki

@dassouki - จุดดีในสถานการณ์ที่เชื่อถือได้เหล่านั้นทำให้รู้สึก WPF XBAP ของ ฉันจะอัปเดต Silverlight เพื่อรวม WPF
Kirk Kuykendall

8

ฉันเดาคำตอบทั้งหมดเหล่านี้ดี แต่ออกไปหน่อย Flex และ Silverlight เป็นก็เป็นที่นิยมมากเมื่อเทียบกับ Javascript และบางคนอาจจะเถียงว่าการประยุกต์ใช้อาคารโดยใช้ API เหล่านี้เป็นเรื่องง่าย แต่ต่ำกว่าที่ใหญ่ที่สุดที่ Flex และ Silverlight มีอยู่ว่าพวกเขาจะPLUGINS และนั่นคือสาเหตุของการทำลายล้าง

ด้วยการโจมตีของ HTML5 และ Javascript เป็นส่วนสำคัญของการพัฒนา Web App ในอนาคตคือ Javascript API ด้วย Adobe ที่ละทิ้ง Flash และ Silverlight 5 เป็นอัปเดตล่าสุดจาก Microsoft ทำให้ Flex และ Silverlight กลายเป็นเทคโนโลยีที่ซ้ำซ้อน

ดังนั้นหากคุณกำลังเริ่มต้นการพัฒนา Web GIS Application โดยใช้ ESRI API ให้เริ่มต้นเรียนรู้ Javascript API ซึ่งเป็นอนาคตเดียวในอนาคตอันใกล้


3

Silverlight และ Flex API นั้นเป็น ArcGIS API ที่ได้รับความนิยมมากที่สุดและมีข้อได้เปรียบในการเป็นปลั๊กอินของเบราว์เซอร์ซึ่งมอบประสบการณ์การใช้งานที่สมบูรณ์และสม่ำเสมอซึ่งมักจะมีความสำคัญกับเว็บแอป GIS Silverlight เป็นตัวเลือกที่ดีที่สุดถ้าคุณชอบการพัฒนา. NET และ Flex จะดีที่สุดสำหรับนักพัฒนาที่ต้องการสภาพแวดล้อมของ Adobe Flex ยังมีข้อได้เปรียบของการนำไปใช้ที่กว้างขึ้นเป็นปลั๊กอินเบราว์เซอร์กว่า Silverlight

Javascript API มีข้อได้เปรียบในการเข้าถึงข้ามแพลตฟอร์มได้มากขึ้นเนื่องจากไม่จำเป็นต้องใช้ปลั๊กอินของเบราว์เซอร์ดังนั้นจึงสามารถใช้ในอุปกรณ์ iOS เช่น iPhone และ iPad ข้อเสียคือคุณมักจะเห็นความแตกต่างในการทำงานของแอพในเบราว์เซอร์ต่าง ๆ เช่น IE, Chrome, Firebox, Safari เป็นต้น

เท่าที่คุณสมบัติของพวกเขาพวกเขาจะคล้ายกันมากซึ่งเป็นสิ่งที่ esri พยายามทำกับสิ่งเหล่านี้อยู่เสมอและดูเหมือนว่าจะมุ่งมั่นที่จะรักษาความเท่าเทียมกันของคุณลักษณะที่แข็งแกร่งระหว่างพวกเขาก้าวไปข้างหน้า ดังนั้นฉันคิดว่ามันมาจากความแข็งแกร่งของ Flex และ Silverlight ในฐานะที่เป็นลูกค้าที่ร่ำรวยและการเข้าถึงข้ามแพลตฟอร์ม Javascript


3

มีความเป็นตัวแสดง ArcGIS สำหรับ Flex

มีความเป็นตัวแสดง ArcGIS สำหรับ Silverlight

แต่ปัจจุบันยังไม่มี Esri สนับสนุน ArcGIS Viewer สำหรับ Javascript, หรือมีการวางแผนอย่างใดอย่างหนึ่ง

ดูคำถามที่เกี่ยวข้อง

"Viewer" เป็นคำที่ Esri ใช้สำหรับเว็บแอปที่อนุญาตให้ผู้ใช้สร้างแอปบนเว็บโดยไม่ต้องเขียนโค้ดใด ๆ โดยทั่วไปแล้วแอปพลิเคชันการทำแผนที่เว็บที่สร้างขึ้นเหล่านี้จะเป็นผู้ดู แต่ด้วย Add-in ที่เหมาะสม (หรือวิดเจ็ต) ที่เป็นไปได้ที่จะสร้างผู้ชมที่มีความสามารถในการแก้ไข


อาจกล่าวได้ว่าการใช้ ArcGIS Online กับเทมเพลต ... นั้นเป็นตัวแสดงสำหรับจาวาสคริปต์ - ไม่มีการเข้ารหัสให้ฟังก์ชั่นแผนที่พื้นฐาน
awesomo

1

ไม่มีใครสนับสนุนมาตรฐานแบบเปิดดังนั้นคุณต้องทนทุกข์ทรมานจากการล็อคผู้ขายและความเสี่ยงในการสูญเสียการลงทุนของคุณหาก ESRI ตัดสินใจว่า 3 เป็น 1 หรือ 2 มากเกินไป


1
หาก Esri เปลี่ยนฉันคิดว่าหมายเลขเวอร์ชั่นจะเพิ่มขึ้น (ปัจจุบันคือ 1.0) หากคุณสร้างเครื่องมือที่ใช้งานแล้วทำไมคุณถึงไม่สามารถใช้เครื่องมือนั้นได้
Derek Swingley

2
เกิดอะไรขึ้นถ้า [x] การเปลี่ยนแปลงมาตรฐาน ไม่มีใครแน่ใจ 100% ว่าทุกอย่างจะเหมือนเดิมตลอดไป
George Silva

2
@Swingley เมื่อ ArcServer11 ออกมาและสนับสนุนเฉพาะ Rest2.0 เท่านั้นทุกงานของคุณจะถูกทำให้เมา (ฉันจำ Avenue และ AML)
Ian Turton

1
ยังคงใช้ Avenue และ AMLS ...
Mapperz

1
@iant AML tools ใน ArcGIS 10 (Workstation) help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//…
Mapperz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.