Xác định platform, framework và Tool

 

Khi các cuộc thảo luận xung quanh cách phát triển và triển khai ứng dụng GEOINT ngày càng phổ biến, tôi thường được hỏi về các nền tảng, khuôn khổ và bộ công cụ hỗ trợ phát triển và triển khai ứng dụng. Những thuật ngữ này thường bị nhầm lẫn, vì vậy tôi bắt đầu tìm một số định nghĩa và phân biệt. Có sự trùng lặp đáng kể giữa các khái niệm này và các thuật ngữ thường được sử dụng thay thế cho nhau với nhiều loại định nghĩa khác nhau. Dưới đây là một bản tóm tắt ngắn về nỗ lực của tôi để chắt lọc và xác định chúng:

Xem thêm tại:

Platform được định nghĩa theo truyền thống là sự kết hợp của kiến ​​trúc phần cứng và phần mềm cơ bản, bao gồm hệ điều hành và các thư viện thời gian chạy cơ bản cần thiết để chạy các ứng dụng phần mềm. Nói một cách rất đơn giản, nền tảng là nơi chạy ứng dụng phần mềm. Ví dụ: một nền tảng cơ bản có thể là Red Hat Linux và Java. Windows là một nền tảng.

 

Khi các công cụ và công nghệ phát triển, các nền tảng cũng vậy. Thuật ngữ này được sử dụng rất đơn giản, như tôi đã định nghĩa ở trên, nhưng nó cũng được sử dụng để định nghĩa một môi trường mạnh mẽ có thể bao gồm một khuôn khổ (xem bên dưới) để phát triển các ứng dụng bao gồm các công cụ để xây dựng và triển khai ứng dụng, cũng như cơ sở hạ tầng tạo điều kiện cho việc lưu trữ, khám phá, truy cập và sử dụng các ứng dụng. Những nền tảng mạnh mẽ này đôi khi được gọi là  Hệ sinh thái , cung cấp một môi trường toàn bộ hỗ trợ cả nhà phát triển ứng dụng và người dùng cuối. Các hệ sinh thái này tận dụng nền tảng phần cứng và phần mềm cơ bản. ENVI / IDL và ArcGIS là Hệ sinh thái.

 

Framework là một  môi trường được xác định rõ ràng cho thấy một tập hợp các quy trình, chức năng, thuật toán hoặc ứng dụng có thể được sử dụng để phát triển các ứng dụng mới. Các khuôn khổ, đôi khi được gọi là khuôn khổ ứng dụng, được sử dụng để xây dựng ứng dụng. Khung, hoặc ít nhất là các phần của nó, được bao gồm trong ứng dụng đã hoàn thành. Ngoài các chức năng được sử dụng để xây dựng ứng dụng, các khuôn khổ thường bao gồm cấu trúc để tạo ứng dụng, các công cụ để xây dựng phiên bản thực thi của ứng dụng và đôi khi là cơ chế để triển khai hoặc chạy ứng dụng.

 

Các khung công tác đẩy nhanh quá trình phát triển ứng dụng vì một bộ công cụ cơ bản được bao gồm trong khuôn khổ, do đó nhà phát triển chỉ cần viết mã tùy chỉnh để đáp ứng các yêu cầu của ứng dụng. Môi trường đi kèm với khung cũng đơn giản hóa công việc cấu trúc và xây dựng ứng dụng. Đôi khi, các khuôn khổ được gọi là Khung ứng dụng. Các thuật ngữ  Platform phát triển  và  Platform phát triển phần mềm  cũng được sử dụng để mô tả các khuôn khổ, đây là một phần của sự nhầm lẫn. .NET và Ozone Widget Framework (OWF) là các khuôn khổ.

 

Bộ  công cụ  là một tập hợp các chức năng hoặc quy trình được kết hợp vào các ứng dụng khác để hợp lý hóa sự phát triển. Nếu điều đó nghe rất giống với định nghĩa của một khuôn khổ, thì nó rất giống nhau. Bộ công cụ thực sự là những người anh em nhỏ của framework. Bộ công cụ chỉ bao gồm các thói quen hoặc chức năng được tích hợp vào các ứng dụng. Họ không cung cấp môi trường phát triển và triển khai hoặc cấu trúc ứng dụng cơ bản mà người ta tìm thấy trong một khuôn khổ. Bộ công cụ thường được gọi là  SDK hoặc  Bộ công cụ phát triển phần mềm . Thuật ngữ  API, Giao diện Lập trình Ứng dụng, có thể được sử dụng để xác định cách gọi các công cụ trong bộ công cụ. Bộ công cụ có thể được phân phối dưới dạng mã nguồn hoặc dưới dạng thư viện nhị phân, như DLL trên Windows. API có tầm quan trọng đặc biệt khi bộ công cụ được phân phối ở dạng nhị phân. Đây là cách nhà phát triển biết cách gọi các công cụ từ mã tùy chỉnh của cô ấy.

 

Tôi không tuyên bố đã tìm thấy tất cả các định nghĩa khả thi, nhưng tôi hy vọng rằng những định nghĩa này hữu ích. Hãy cho tôi biết cách bạn xác định các thuật ngữ và những điểm mơ hồ khác mà bạn gặp phải. 


Đăng nhận xét

0 Nhận xét