Khung nào là tốt nhất để triển khai một ứng dụng mạnh mẽ, sử dụng API API của ArcGIS Server?


13

Trên diễn đàn Esri , người dùng Matt Moyles cho rằng cách tiếp cận được sử dụng trong các mẫu Esri JS không phù hợp để phát triển mạnh mẽ ứng dụng bản đồ web bằng HTML, JavaScript và CSS:

Cách tiếp cận được đề xuất của ESRI để phát triển ứng dụng javascript là cổ xưa và lỗi thời. Tôi không khuyên bạn nên làm theo các mẫu. Dojo 1.7 hỗ trợ AMD với tải phụ thuộc không đồng bộ. Tôi sẽ bắt đầu với mẫu soạn sẵn dojo và "làm việc" với apg arcgis vào đó. Các mẫu không phù hợp cho các nhà phát triển ứng dụng nghiêm trọng. Họ chủ yếu chỉ là bằng chứng của các đoạn khái niệm.

Một ứng dụng nghiêm túc nên được phát triển với sự trợ giúp của một số loại khung để giúp cấu trúc mọi thứ. Tôi đã sử dụng dojox.mvc rất thành công! Nhưng các tùy chọn khác bao gồm những thứ như backbone.js, spine.js hoặc thậm chí javascript MVC.

Lò hơi Dojo - https://github.com/csnover/dojo-boilerplate

  • có ai đồng ý / không đồng ý với tuyên bố này không?
  • Có bất kỳ ví dụ trực tuyến nào về cách tiếp cận tốt hơn để phát triển ứng dụng web bằng API JSG Server Server không?

1
yes dojo 1.7 sử dụng AMD nhưng esri js api mới nhất được xây dựng dựa trên dojo 1.6.1 và các gói / mô-đun lớp mà chúng phục vụ hoặc bạn có thể tải xuống không ở định dạng AMD. Vì vậy, nó sẽ không hoạt động. Có vẻ ngớ ngẩn khi tải js api (dojo 1.6.1) và dojo 1.7 chỉ để sử dụng AMD
Steve

Tôi chỉ nhận thấy rằng có một phiên trên backbone.js tại Hội nghị thượng đỉnh nhà phát triển Esri năm nay.
Stephen chì

Tôi gặp rắc rối khi sử dụng nồi hơi dojo mới nhất. Tôi đã quay trở lại gói soạn sẵn 1.6.1 vì đó là những gì esri hỗ trợ. ESRI sẽ thăm dò. phát hành phiên bản AMD của API cho dojo 2.0. Đây là dự án soạn đồ tôi đã sử dụng blog.rebeccamurphey.com/a-dojo-boilerplate (Matt Moyles)
dubvfan87

Câu trả lời:


10

Tôi đồng ý với Moyles rằng các mẫu chỉ là mẫu và boong dojo là một nguồn tài nguyên tuyệt vời, tuy nhiên, hiện tại snovers nồi hơi không phải là một giải pháp khả thi. Bạn có hai phiên bản võ đường khác nhau đang diễn ra ở đó. Api js hiện tại vẫn sử dụng cú pháp yêu cầu cổ điển của dojo 1.6.1 và không hỗ trợ AMD. Tôi chắc chắn rằng một api js mới hơn sẽ được xây dựng trên 1.7.x và vì việc chuyển đổi các mô-đun dojo.d xác định cổ điển sang AMD chủ yếu là tầm thường nên tôi sẽ chọn tuyến đường đó.

Nếu bạn đang bắt đầu dự án của mình bây giờ thì tôi sẽ chọn bất kỳ khung máy chủ nào bạn muốn sử dụng (nếu cần thiết cho ứng dụng của bạn. Nếu đó chỉ là một trình xem trang duy nhất không có yêu cầu phía máy chủ thì đừng quá phức tạp hóa mọi thứ). Nó có thể là đường ray, php, asp, bất cứ điều gì. Thực hiện theo các thực tiễn tốt nhất cho khuôn khổ / ngôn ngữ của bạn.

Sau đó, vì esri được xây dựng trên võ đường, bạn đã tải một khung js tuyệt vời để tạo các ứng dụng web quy mô lớn. Cấu trúc mã của bạn để trình tải của dojo có thể tải các widget và mô-đun của bạn với cú pháp yêu cầu dojo. Viết võ đường widget và các module, dijits sử dụng và các công cụ dojox khi cần thiết ( http://dojotoolkit.org/documentation/tutorials/1.6/declare , http://dojotoolkit.org/documentation/tutorials/1.6/recipes/custom_widget/ , http : //dojotoolkit.org/documentation/tutorials/1.6/under Hiểu_widget , http://dojotoolkit.org/documentation/tutorials/1.6/templated , http://dojotoolkit.org/documentation/tutorials/1.6/cdn ). Không viết js nội tuyến như các mẫu làm. Tạo mộtxây dựng hồ sơ để tối ưu hóa tất cả mã của bạn khi đến lúc sản xuất.

Bạn phải tách riêng esri và mã tùy chỉnh của mình ở một mức độ nhất định vì chúng không cung cấp nguồn để biên dịch - nó đã được xây dựng và rút gọn. Công cụ xây dựng không giống như vậy rất nhiều.

BIÊN TẬP

Tôi đã xây dựng một công cụ grunt, esri_slurp để tải xuống esri js api để bạn có thể sử dụng nó như một gói trong các ứng dụng của mình. Điều này cho phép bạn chạy bản dựng và nhận một tệp duy nhất.


3

Một điều khá rõ ràng là các mẫu không có nghĩa là các ứng dụng nghiêm trọng: chúng là các mẫu.

Điều đó nói rằng, nó ít phổ biến hơn, trong thế giới internet điển hình, sử dụng một cái gì đó như Backbone hơn là sử dụng võ đường, vốn được biết đến là mở rộng và phức tạp, nhưng thường không cần thiết.

Nếu bạn có thể mô tả mục tiêu của mình nhiều hơn, việc đưa ra khuyến nghị chắc chắn sẽ dễ dàng hơn. Những thứ như Backbone được viết cho các ứng dụng phía máy khách đầy đủ - vì vậy nếu bạn thực sự làm hầu hết công việc của mình bằng PHP hoặc ASP hoặc nodejs, điều đó ít cần thiết hơn. Hoặc nếu bạn không cần nhiều trang và xem tất cả có dây, bạn có thể dễ dàng truy cập chỉ bằng jQuery hoặc không có khung nào cả.


1
Nếu mã esri được xây dựng trên đỉnh của võ đường, tại sao bạn lại sử dụng bất cứ thứ gì ngoài võ đường? Dojo có thể làm tất cả những điều xương sống có thể và jquery. Bạn đã tải một khung rất có khả năng, tại sao bạn lại khuyên bạn nên tải các khung khác?
Steve

@tmcw đủ công bằng rằng mẫu công cụ nhận dạng không nên được sử dụng để phát triển ứng dụng - nhưng còn các mẫu dựa trên ArcGIS.com hoàn chỉnh hơn thì sao? Có phải Esri đang đi sai hướng với những điều này?
Stephen chì

@tmcw như đối với mục tiêu của tôi, đây là một ví dụ về trang web tôi đã làm việc, sử dụng phương pháp Esri Dojo. Nếu tôi bắt đầu lại vào ngày mai, tôi có nên làm khác đi không?
Stephen chì

2
@Steve yep, có một bản ghi âm cuộc nói chuyện ở đây nếu bạn quan tâm.
Stephen chì

1
@StephenLead tôi đã ở đó :)
Steve

-3

Hoàn toàn đồng ý. ESRI là api javascript, tôi cảm thấy như họ đang cạnh tranh với ArcGIS Viewer cho Flex. Các mẫu không là gì ngoài chỉ là bằng chứng về khái niệm rằng làm thế nào bạn có thể sử dụng các dijits của chúng ... Tôi ước rằng chúng chỉ cung cấp API javascript đơn giản và cho phép người dùng quyết định những người mà gona sử dụng như Bing, Google, Openlayers và một số khác. ..


-4

jsRevolution, Công cụ xây dựng và khung JavaScript mới của OmniStation, là khung công tác thương mại mạnh mẽ nhất trên thị trường. Nó được thiết kế để triển khai quy mô lớn các ứng dụng không tầm thường. Tôi đại diện cho OmniStation. Khách hàng của chúng tôi có thể có các lớp 100 hoặc 1000, thậm chí 100 của các nhà phát triển. Trong khi các khách hàng này sẽ tìm thấy khung không thể mở được, jsRevolution là thiết thực cho các ứng dụng nhất định với ít nhất 25 lớp.

Nhiều tính năng của jsRevolution bao gồm: Tải không đồng bộ, Không gian mã hóa, Chế độ xem mã có thể chuyển đổi URL (từ Dev sang Deployment), Kế thừa mã hóa với xác thực thời gian xây dựng, Giao diện không mã hóa với xác thực thời gian tải, Trừu tượng mã hóa (đôi khi được gọi là Mixin) để xác định tài nguyên dưới dạng một lớp đối tượng, Đa phiên bản (nhiều phiên bản của các lớp trong cùng một ứng dụng - bản sao để thực thi) và nhiều tính năng khác.


Xin chào Ryan, chào mừng đến với trang web của chúng tôi! Tôi đã thực hiện các chỉnh sửa nhỏ cho câu trả lời của bạn để phù hợp với chính sách của chúng tôi về các bài đăng thương mại. Để biết thêm thông tin, xin vui lòng tham khảo faq của chúng tôi . Nếu bạn muốn mọi người liên lạc với bạn, bạn có thể sử dụng hồ sơ người dùng của mình để trình bày thông tin liên hệ.
whuber

1
Bạn có liên kết của trang web ánh xạ API ArcGIS bằng công nghệ của mình không? Nếu không, câu trả lời này chỉ cảm thấy quá nhiều như thư rác.
Devdatta Tengshe
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.