Saya ingin beberapa contoh. Saya selalu bingung, jadi dengan beberapa contoh saya mungkin bisa mengatasinya dengan lebih baik.
Juga: Apakah Eclipse sebuah API atau IDE?
api
frameworks
sdk
ide
terminology
Manoj hans
sumber
sumber
Jawaban:
Sebuah IDE adalah sebuah lingkungan pengembangan terintegrasi - editor teks suped-up dengan dukungan tambahan untuk mengembangkan (seperti bentuk desainer, editor sumber daya, dll), kompilasi dan debugging aplikasi. misalnya Eclipse, Visual Studio.
Sebuah Perpustakaan adalah serangkaian kode yang Anda dapat panggilan dari kode Anda sendiri, untuk membantu Anda melakukan hal-hal lebih cepat / mudah. Misalnya, pustaka Pemrosesan Bitmap akan menyediakan fasilitas untuk memuat dan memanipulasi gambar bitmap, sehingga Anda tidak perlu menulis sendiri semua kode itu. Biasanya perpustakaan hanya akan menawarkan satu area fungsionalitas (pemrosesan gambar atau operasi pada file zip)
Sebuah API (application programming interface) adalah istilah yang berarti fungsi / metode dalam perpustakaan yang dapat Anda hubungi untuk meminta untuk melakukan hal-hal untuk Anda - antarmuka ke perpustakaan.
Sebuah SDK (software development kit) adalah sebuah perpustakaan atau kelompok perpustakaan (sering dengan aplikasi alat tambahan, file data dan contoh kode) yang membantu Anda dalam mengembangkan kode yang menggunakan sistem tertentu (misalnya kode ekstensi untuk menggunakan fitur dari sistem operasi ( Windows SDK), menggambar grafik 3D melalui sistem tertentu (DirectX SDK), menulis peralatan tambahan untuk memperluas aplikasi lain (Office SDK), atau menulis kode untuk membuat perangkat seperti Arduino atau ponsel melakukan apa yang Anda inginkan). SDK biasanya masih memiliki fokus tunggal.
Sebuah toolkit adalah seperti SDK - itu adalah kelompok alat (dan sering perpustakaan code) yang dapat Anda gunakan untuk membuatnya lebih mudah untuk mengakses perangkat atau sistem ... Meskipun mungkin dengan lebih fokus pada penyediaan alat dan aplikasi dari pada kode perpustakaan hanya .
Sebuah kerangka kerja adalah perpustakaan besar atau kelompok perpustakaan yang menyediakan berbagai layanan (bukan mungkin hanya satu kemampuan difokuskan karena kebanyakan perpustakaan / SDK lakukan). Sebagai contoh, .NET menyediakan kerangka kerja aplikasi - membuatnya lebih mudah untuk menggunakan sebagian besar (jika tidak semua) layanan berbeda yang Anda butuhkan (misalnya Windows, grafik, percetakan, komunikasi, dll) untuk menulis berbagai macam aplikasi - jadi satu. "Perpustakaan" menyediakan dukungan untuk hampir semua yang perlu Anda lakukan. Seringkali kerangka kerja menyediakan basis lengkap di mana Anda membangun kode Anda sendiri, daripada Anda membangun aplikasi yang menggunakan kode perpustakaan untuk melakukan bagian-bagian pekerjaannya.
Tentu saja ada banyak contoh di alam bebas yang tidak akan cocok dengan deskripsi ini.
sumber
Analogi Mobil
IDE: MS Office of Programming. Di sinilah Anda mengetik kode Anda, ditambah beberapa fitur tambahan untuk menjadikan Anda seorang programmer yang lebih bahagia. (misalnya Eclipse, Netbeans ). Bodi mobil: Ini yang benar-benar Anda sentuh, lihat, dan kerjakan.
Perpustakaan: Perpustakaan adalah kumpulan fungsi, sering dikelompokkan ke dalam beberapa file program, tetapi dikemas ke dalam file arsip tunggal. Ini berisi program yang dibuat oleh orang lain, sehingga Anda tidak perlu menemukan kembali roda. (misalnya junit.jar, log4j.jar ). Pustaka pada umumnya memiliki peran kunci, tetapi melakukan semua fungsinya di belakang layar, ia tidak memiliki GUI. Mesin mobil.
API: Dokumentasi penerbit perpustakaan. Ini adalah bagaimana Anda harus menggunakan perpustakaan saya. (mis. API log4j , API junit ). Panduan pengguna mobil - ya, mobil juga datang dengan satu!
Kit
Apa itu kit? Ini adalah kumpulan dari banyak item terkait yang bekerja bersama untuk menyediakan layanan tertentu. Ketika seseorang mengatakan kit obat, Anda mendapatkan semua yang Anda butuhkan untuk keadaan darurat: plester, aspirin, kasa dan antiseptik, dll.
SDK : Happy Meal McDonald's . Anda memiliki semua yang Anda butuhkan (dan tidak perlu) kemas rapi: hidangan utama, minuman, makanan penutup, dan mainan bonus. SDK adalah sekelompok komponen perangkat lunak yang berbeda yang dirangkai menjadi sebuah paket, sehingga mereka "siap untuk beraksi" langsung dari kotak. Ini sering menyertakan banyak pustaka dan bisa , tetapi mungkin tidak perlu menyertakan plugin, dokumentasi API, bahkan sebuah IDE itu sendiri. (mis . Kit Pengembangan iOS ).
Toolkit : GUI. GUI. GUI. Ketika Anda mendengar 'toolkit' dalam konteks pemrograman, itu akan sering merujuk ke satu set perpustakaan yang dimaksudkan untuk pengembangan GUI. Karena toolkit adalah UI-sentris, mereka sering disertai dengan plugin (atau IDE mandiri) yang menyediakan utilitas melukis layar. (mis. GWT )
Kerangka Kerja : Meskipun bukan gagasan umum, kerangka kerja dapat dilihat sebagai kit. Ini juga memiliki perpustakaan (atau koleksi perpustakaan yang bekerja bersama-sama) yang menyediakan struktur & pola pengkodean tertentu (dengan demikian kata, kerangka kerja ). (misalnya Kerangka Pegas)
sumber
Pertimbangkan Pengembangan Android:
IDE: Eclipse dll.
Perpustakaan: perpustakaan android.app.Activity (Kelas dengan semua kode)
API: Interface pada dasarnya semua fungsi yang kita panggil
SDK: Android SDK memberi Anda perpustakaan API dan alat pengembang yang diperlukan untuk membangun, menguji, dan men-debug aplikasi untuk Android (---- tools - DDMS, platform ---- Emulator - versi OS Android, ---- platform- alat - ADB, ---- API dokumen)
ToolKit: Bisa jadi Bundel ADT
Kerangka kerja: Perpustakaan besar tetapi lebih berorientasi arsitektur
sumber
Dengan kata lain...
IDE Bahkan notepad Anda adalah IDE. Setiap perangkat lunak yang Anda tulis / kompilasi dengan kode adalah IDE.
Perpustakaan Kumpulan kode yang menyederhanakan fungsi / metode untuk penggunaan cepat.
API Antarmuka pemrograman untuk fungsi / konfigurasi yang Anda gunakan, penggunaannya sering didokumentasikan.
SDK Extras dan / atau untuk tujuan pengembangan / pengujian.
Aplikasi Tiny ToolKit untuk penggunaan cepat, seringkali GUI.
Aplikasi GUI dengan antarmuka grafis, tidak memerlukan pengetahuan pemrograman seperti API.
Kerangka Bunch of APIs / huge Library / Snippets yang dibungkus dalam namespace / atau dienkapsulasi dari lingkup luar untuk penanganan yang ringkas tanpa konflik dengan kode lainnya.
MVC Pola desain yang dipisahkan dalam Model, Tampilan, dan Pengontrol untuk aplikasi besar. Mereka tidak tergantung satu sama lain dan dapat diubah / diperbaiki / diganti tanpa memperhatikan kode lainnya.
Contoh:
Cuplikan Kode kecil hanya beberapa baris, mungkin bahkan tidak lengkap tetapi layak untuk dibagikan dengan cepat.
Fungsi Eksklusif Plug-in hanya untuk kerangka kerja / API / perpustakaan tertentu.
Add-on Modul atau layanan tambahan untuk GUI tertentu.
sumber
SDK mewakili kit pengembangan perangkat lunak, dan IDE mewakili lingkungan pengembangan terintegrasi. IDE adalah perangkat lunak atau program yang digunakan untuk menulis, mengkompilasi, menjalankan, dan men-debug seperti Xcode. SDK adalah mesin yang mendasari IDE, termasuk semua perpustakaan platform yang perlu diakses aplikasi. Ini lebih mendasar daripada IDE karena biasanya tidak memiliki alat grafis.
sumber