Kerangka vs Platform: apa bedanya?

Halo, Habr! Saya mempersembahkan untuk Anda terjemahan artikel "Kerangka Kerja Vs. Platform Apa Perbedaannya?" penulis G. Harris.


Mengakui: Saya seorang pedant. Terlepas dari kegagalan pribadi di bidang ini, saya sangat percaya bahwa menggunakan bahasa yang tepat menambah banyak manfaat. Mengutip aforisme Mark Twain :


Perbedaan antara kata yang hampir benar dan kata yang benar sangat berarti. Ini adalah perbedaan antara bug kilat (kilat bug) dan kilat (kilat).

Mengingat perbedaan ini, saya melihat poin dalam fakta bahwa dari waktu ke waktu saya terganggu oleh kurangnya kejelasan seputar dua konsep kerangka kerja dan platform . Setiap perusahaan di dunia yang terkait dengan pengembangan memiliki semacam platform. Dunia open source penuh dengan kerangka kerja. Tetapi hanya sedikit yang bisa mendefinisikan konsep-konsep ini ketika ditanya. Jika saya tidak dapat memberikan definisi yang jelas tentang terminologi dasar, dapatkah saya mengklaim memiliki pemahaman yang lengkap tentang subjek diskusi?


Saya ingin menawarkan salah satu definisi yang mungkin dengan analogi.


Sebuah platform adalah sesuatu yang dapat dibandingkan dengan kotak desainer yang dimiliki anak-anak saya di kamar ketika mereka masih kecil. Kubus individu adalah komponen. Pada platform yang ideal, banyak kombinasi berbeda tersedia untuk merakit komponen, dan berbagai produk akhir dapat dibuat. Platform menawarkan cawan suci perangkat lunak yang digunakan kembali: itu sebabnya mereka sangat populer.


Tapi apa prasyarat untuk membangun platform? Agar berhasil, platform harus memenuhi beberapa persyaratan teknis wajib, dan memuaskan mereka adalah tugas kerangka kerja.


  • , ? , . , , . . , ยซยป โ€” , , . , (well-defined) .
  • , , โ€” . , ? , . . Lego (tm) Fischer-Price (tm). , ( ) . .
  • , . () , , () . , . , , .

, , , :


  1. , .

โ€” , .


, .


, . , . . . , .


: . . , . , , , . , . , , .


Suatu kerangka kerja mungkin memiliki tanggung jawab tambahan. Idealnya, ia akan mendukung konsep hubungan sebab dan akibat (Wirkketten dalam bahasa Jerman), yang mengidentifikasi dependensi run-time, aliran data, dan aliran kontrol. Selain itu, harus mengandung (dan menyembunyikan) mekanisme yang diperlukan untuk bekerja dengan concurrency. Tapi ini akan berfungsi sebagai bahan untuk artikel lain.


All Articles