Bản đồ JavaScript phức tạp như thế nào? Khi nào một plugin có ý nghĩa hơn?


8

Lý lịch:

Một khách hàng đang tìm cách nâng cấp một trang web ArcIMS cổ đại, khá phức tạp. Nó có một bảng mục lục, khả năng thay đổi ký hiệu khi đang di chuyển, in bản đồ, sử dụng dấu trang không gian, xác định lớp "hoạt động", xuất dữ liệu, v.v. Nó gần giống như một phiên bản trực tuyến của ArcView 3.

Họ muốn nâng cấp lên ArcGIS Server 10 và đang tìm kiếm các khuyến nghị về việc sử dụng API máy chủ ArcGIS nào.

Tôi quen thuộc nhất với API JavaScript của ArcGIS Server, vì vậy tôi không biết liệu các phiên bản Flex hay Silverlight sẽ cung cấp các lợi thế so với API JS.

  1. Có một điểm phức tạp nào sau đó API API không còn ý nghĩa nữa và một plugin sẽ cung cấp sự phát triển dễ dàng hơn và hiệu suất tốt hơn?
  2. Có dễ dàng hơn để phát triển một ứng dụng phức tạp (như được mô tả ở trên) bằng Flex hoặc Silverlight không?
  3. Có bất kỳ ví dụ trực tuyến nào về các trang web rất phức tạp ("giống như ArcView") được xây dựng trên API JavaScript không?

4
Dính vào những gì bạn biết.
Mapperz

1
Một plugin có ý nghĩa hơn khi nó có thể làm một cái gì đó Javascript không thể. Điều đó đang được nói, tôi chỉ quen thuộc với API SL và Flex, vì vậy tôi không thể so sánh chúng một cách trung thực với API JS. Trong số những điều bạn đã liệt kê, việc thay đổi hệ thống ký hiệu là điều duy nhất tôi không chắc chắn rằng API API có thể làm được (những thứ khác sẽ không quan trọng nếu bạn thuận tiện với JS). Nếu bạn có thể tìm hiểu xem điều đó có dễ dàng với API API hay không, tôi sẽ nói là hãy làm điều đó.
Michael Todd

1
@Mapperz nếu tôi làm điều đó tôi sẽ không bao giờ học được điều gì mới! @Michael cảm ơn vì lời khuyên. Bạn chỉ có thể áp dụng trình kết xuất khi chỉ sử dụng lớp tính năng (không phải lớp động hoặc lát gạch) theo help.arcgis.com/en/webapi/javascript/arcgis/help/iêu
Stephen Lead

1
khách hàng có thể bị lắc lư để di chuyển khỏi ứng dụng một kích thước phù hợp với tất cả không, và bắt đầu xem xét việc loại bỏ nhiều ứng dụng tập trung cho các mục đích cụ thể?
Simon

Câu trả lời:


4

1) Tôi sẽ lập luận rằng nó phụ thuộc nhiều hơn vào những gì người dùng dự định đang chạy ở phía máy khách, khi xây dựng các ứng dụng web để sử dụng trong mạng nội bộ doanh nghiệp mà bạn thường có quyền kiểm soát HĐH và trình duyệt, trình cắm, v.v., người dùng có thể sử dụng . Nhưng nếu bạn đang nhắm mục tiêu người dùng trên internet, bạn chỉ có thể đưa ra các giả định dựa trên số liệu thống kê. Javascript là tùy chọn tốt nhất để nhắm mục tiêu hầu hết các nền tảng. Nếu bạn đã quen làm việc trong môi trường Microsoft với Visual Studio và có quyền kiểm soát môi trường, tôi khuyên bạn nên chuyển sang Silverlight, vì nó có cùng mô hình lập trình với WPF và WP7.

2) Nó phụ thuộc vào cách các ứng dụng được xây dựng. Nếu bạn viết mã bằng cách sử dụng thực tiễn tốt nhất, vv, mã sẽ dễ dàng duy trì bất kể ngôn ngữ hoặc kỹ thuật.

3) Bạn đã kiểm tra các mẫu ESRI , nó có bao gồm mọi thứ bạn muốn làm không? Nếu không, hãy kiểm tra các mẫu Silverlight hoặc Flex , chúng có hỗ trợ tốt hơn cho những gì bạn cần làm không?


Cảm ơn những lời khuyên - có ý nghĩa. Re: kiểm tra các mẫu ESRI, tôi tự tin rằng JavaScript có thể thực hiện từng điều này một cách riêng lẻ - nơi tôi không tự tin là liệu nó có thể thực hiện tất cả trong một ứng dụng hay không. Đó là lý do tại sao tôi hy vọng tìm thấy một mẫu ứng dụng JS được viết tốt, phức tạp
Stephen Lead

3

Tôi muốn nói tất cả phụ thuộc vào những gì bạn cảm thấy thoải mái nhất khi viết mã và nếu bạn có phần mềm có sẵn như Flash Builder 4.5 để tạo ra một ứng dụng Flex tuyệt vời. sử dụng API Flex. Tôi cũng sẽ xem xét tài liệu tốt như thế nào cho mỗi lựa chọn và cũng có bao nhiêu cuộc thảo luận được tạo điều kiện trên các diễn đàn khác nhau cho mỗi API. Nó thực sự tùy thuộc vào sở thích của bạn, vì mọi thứ đều có thể với bất kỳ ngôn ngữ nào được cung cấp đủ thời gian và tiền bạc, giống như mọi thứ khác trong cuộc sống.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.