Saya mengelola tim yang terdiri dari 15 pengembang sekarang, dan kami terjebak pada suatu titik dalam memilih teknologi, di mana tim tersebut dibagi menjadi dua tim yang benar-benar berlawanan, memperdebatkan penggunaan WCF vs Web API.
Tim A yang mendukung penggunaan Web API, mengemukakan alasan-alasan berikut:
- API Web hanyalah cara modern layanan penulisan ( Wikipedia )
- WCF adalah overhead untuk HTTP. Ini solusi untuk TCP, dan Net Pipes, dan protokol lainnya
- Model WCF bukan POCO, karena [DataContract] & [DataMember] dan atribut tersebut
- SOAP tidak mudah dibaca dan berguna seperti JSON
- SOAP adalah overhead untuk jaringan dibandingkan dengan JSON (transport over HTTP)
- Tidak ada metode kelebihan beban
Tim B yang mendukung penggunaan WCF, mengatakan:
- WCF mendukung banyak protokol (melalui konfigurasi)
- WCF mendukung transaksi terdistribusi
- Banyak contoh bagus dan kisah sukses ada untuk WCF (saat Web API masih muda)
- Duplex sangat baik untuk komunikasi dua arah
Debat ini terus berlanjut, dan saya tidak tahu harus berbuat apa sekarang. Secara pribadi, saya pikir kita harus menggunakan alat hanya untuk tempat penggunaan yang tepat . Dengan kata lain, sebaiknya kita menggunakan Web API, jika kita ingin mengekspos layanan melalui HTTP, tetapi gunakan WCF ketika datang ke TCP dan Duplex.
Dengan mencari di internet, kita tidak bisa mendapatkan hasil yang solid. Banyak pos ada untuk mendukung WCF, tetapi sebaliknya kami juga menemukan keluhan orang tentang itu. Saya tahu bahwa sifat dari pertanyaan ini mungkin terdengar dapat diperdebatkan, tetapi kita perlu beberapa petunjuk yang baik untuk memutuskan. Kita terjebak pada suatu titik di mana memilih teknologi secara kebetulan mungkin membuat kita menyesal nanti. Kami ingin memilih dengan mata terbuka.
Penggunaan kami sebagian besar untuk web, dan kami akan mengekspos layanan kami melalui HTTP. Dalam beberapa kasus (misalnya 5 hingga 10 persen) kita mungkin perlu transaksi terdistribusi.
Apa yang harus saya lakukan sekarang? Bagaimana cara saya mengelola debat ini dengan cara yang konstruktif?