Hari ini ada pengalaman menarik terkait vendor yang akan dipakai perusahaan untuk mendevelop aplikasi internal kantor. Setelah kita menjelaskan sedikit mengenai skema dan proses bisnis aplikasi kepada vendor, pihak vendor ternyata akan membangunnya menggunakan server side programming ASP.net, bukan menggunakan bahasa pemrograman PHP yang sebenarnya kita harapkan.
Vendor tersebut menjelaskan beberapa kelebihan yang dimiliki oleh ASP.net, salah satunya adalah JobsDB yang kebetulan memang menggunakan bahasa pemrograman miliknya Microsoft Corporation ini. Hal ini tidak serta merta akan kami iya kan, karena kami telah terbiasa menggunakan PHP meskipun aplikasi internal dibuat oleh orang luar kantor. Dikarenakan proses maintenance nantinya diharapkan dapat dilanjutkan dengan mudah oleh orang dalam. Jika menggunakan ASP, tentu saja kita harus mempelajarinya terlebih dahulu untuk implementasi aplikasi.
Terlepas dari cerita diatas, sebenarnya ada hal menarik yang akan penulis bahas dalam artikel ini, yaitu mengenai perdebatan dan komparasi antara pemrograman PHP dengan ASP.net atau mungkin dengan bahasa pemrograman berbasis server side lainnya. Bagaimana kelebihan dan kekurangan dari masing-masing bahasa pemrograman tersebut, dan apa pilihan yang paling tepat untuk saat ini jika digunakan untuk mengembangkan aplikasi web ?
Mungkin ada yang pernah membahas mengenai PHP dengan ASP.net, tapi sedikit fakta akan penulis paparkan mengenai kedua bahasa pemrograman ini. Oleh karena itu, kita lihat data statistik yang dirilis oleh w3techs.com berikut :
Jika melihat data diatas, banyak orang pasti akan mengatakan PHP adalah yang terbaik. Memang benar apa adanya, dan aplikasi web populer saat ini juga banyak yang menggunakan PHP, ambil contoh Facebook. Mark Zuckerberg sebagai sang pencetus media sosial paling populer sejagat ini, awalnya menggunakan PHP untuk menciptakan Facebook, dan hingga detik ini Facebook masih menggunakan PHP dan MySQL. Tapi tentu saja dengan pengembangan dan implementasi luar biasa dari para developer mereka, sehingga Facebook terlihat sangat powerfull.
Kemudian kita bisa melihat lagi, platform blog paling populer sejagat yaitu WordPress, juga menggunakan PHP dan MySQL sebagai backend sistem. Mengenai kepopuleran PHP, tidak dipungkiri karena bahasa pemrograman ini bersifat open source, gratis, dan tidak ada biaya tambahan jika kita memakainya untuk segala keperluan baik bisnis maupun pribadi. Sedangkan ASP.net sebenarnya memiliki licensi yang mirip dengan PHP, dia tidak dikenakan biaya dari sisi pemakaian. Bahkan dari sisi tools yang dipakai untuk mendevelop aplikasi web berbasis ASP.net pun sama, ada yang gratis maupun berbayar.
Untuk lebih jelasnya, berikut adalah beberapa kesamaan yang dimiliki oleh PHP dan ASP yang telah penulis rangkum dari berbagai sumber terpercaya :
- Sama-sama bersifat gratis untuk pemakaian.
- Tools yang dipakai untuk kedua bahasa pemrograman juga gratis. Semenjak diluncurkannya Mono Project, ASP.net sekarang dapat didevelop menggunakan Linux maupun komputer Mac secara gratis.
- Yang terakhir adalah, sama-sama bahasa pemrograman untuk server. #hehehe
Point terakhir merupakan gurauan penulis, sedangkan dua point sebelumnya memang berdasarkan fakta saat ini.
Lanjut lagi, bila kita melihat bahwa ASP.net adalah buatan Microsoft, banyak orang pasti mengira bahwa bahasa pemrograman ini tidak gratis dan pasti ada embel-embel dibelakangnya. Betulkah ? Mari kita telisik ! Menurut sumber yang cukup terpercaya diambil dari situs web udemy.com, berikut adalah beberapa hal yang patut pembaca ketahui mengenai ASP.net :
Lebih mahal
Jika kita berbicara mengenai hosting untuk PHP dan ASP.net, ternyata hosting untuk spesifikasi PHP dan ASP memiliki perbedaan. Banyak hosting berbasis PHP menggunakan web server Apache dan NginX yang memiliki lisensi gratis untuk diaplikasikan dalam server. Sedangkan ASP.net menggunakan web server bernama Microsoft IIS dan ada tambahan biaya untuk menggunakannya.
Dari sisi OS server, PHP sangat umum menggunakan Linux sebagai sistem operasi server, beberapa yang paling populer adalah CentOS dan Ubuntu. Kedua Operating System tersebut bersifat gratis, meskipun ada beberapa versi Linux yang berbayar seperti Cloud Linux atau RedHat, tapi kebanyakan dari hosting yang menggunakan Linux memang menggunakan Linux versi Enterprise. Tentunya dengan harga yang lebih murah ketimbang Windows.
Untuk ASP.net, pembaca pasti paham bahwa spesifikasi hosting harus menggunakan OS berbasis Windows yang tidak bisa digunakan secara free. Hosting berbasis Windows dengan Linux memiliki perbedaan harga pastinya. Lebih mahal mana? Pembaca pasti tahu jawabannya.
Pada kasus nyata, jika melihat penawaran harga hosting di Godaddy, sebenarnya harga hosting antara Linux base dengan Windows base dipukul rata atau sama. Namun untuk Linux, Godaddy memberikan kapasitas database (MySQL) hingga 1 GB sedangkan untuk Windows (MS SQL) hanya 200 MB. Jelas terpaut cukup jauh, dan alasan utamanya adalah keduanya memiliki harga yang berbeda. Bahkan pada paket hosting Ultimate di Godaddy, mereka menawarkan kapasitas Unlimited pada MySQL tapi MS SQL tetap dibatasi hingga 200 MB. Cukup jelas bukan ?
Performa
Mengenai performa antara PHP dan ASP.net sebenarnya itu tergantung pada apa yang dilakukan pada kedua bahasa pemrograman tersebut. Maksudnya adalah bagaimana cara developer melakukan optimasi pada kedua bahasa. Meski masih banyak perdebatan mengenai masalah performa, tapi hasil dari analisa menyebutkan bahwa PHP menjadi pemenang dalam hal adu kekuatan aplikasi web.
Seperti yang sudah penulis katakan diatas, kebanyakan dari aplikasi berbasis PHP menggunakan Linux sebagai sistem operasi di server utama, sedangkan ASP.net pasti menggunakan Windows. Beberapa test menyebutkan bahwa sistem Input dan Output pada sistem Linux lebih baik dari Windows. Bahkan untuk masalah akses situs, sebenarnya ada sedikit perbedaan kecepatan akses antara website yang memiliki basis PHP maupun ASP.net. Jujur saja, penulis pernah melakukan sedikit test akses website PHP dengan ASP, dan ternyata PHP lebih baik. Meskipun banyak faktor seperti lokasi server, maupun optimasi situs yang mempengaruhi, akan tetapi aplikasi berbasis PHP terlihat lebih enteng.
Mari kita lihat statistik dari w3techs.com berikut mengenai penggunaan web server dikebanyakan situs saat ini :
Terlihat, Apache sebagai basis PHP menduduki peringkat pertama. Sedangkan Nginx yang juga sebagai basis PHP menduduki peringkat kedua. Mengenai Apache dan Nginx, ada beberapa sumber yang mengemukakan bahwa Nginx ternyata lebih cepat ketimbang Apache. Bahkan jika pembaca belum tahu, beberapa tahun yang lalu statistik penggunaan web server nomor dua ditempati oleh Microsoft IIS, namun setelah munculnya Nginx, IIS akhirnya tersalip oleh Nginx.
Dukungan
Penulis yakin, akan lebih mudah jika pembaca mencari komunitas yang memiliki minat bahasa pemrograman PHP dibanding ASP.net. Atau mungkin mencari tutorial berbasis PHP di dunia maya, bahkan buku-buku berbasis PHP di pasaran sudah sangat banyak, dan sudah saling berkompetisi antara penulis satu dengan yang lain. Ini menandakan bahwa PHP yang memiliki sifat open source, telah didukung oleh banyaknya komunitas dan developer.
Sedangkan ASP.net yang merupakan properti milik Microsoft, mungkin masih sedikit dibandingkan dengan PHP dalam hal komunitas atau bahkan developer. Gambar diatas adalah perbandingan jumlah tag pertanyaan antara PHP dengan ASP.net di situs tanya jawab pemrograman paling populer di dunia maya, Stackoverflow.
Pada akhir artikel, akhirnya kita bisa menarik kesimpulan mudah bahwa PHP memang lebih baik dibanding ASP.net. Namun tidak menutup kemungkinan bahwa PHP suatu saat bisa disalip oleh ASP.net. Semua bergantung pada si pengemudinya yakni sang developer.
sebetulnya saya menggunakan keduanya. Akan tetapi di pekerjaan saya menggunakan ASP.Net karena kantor saya menggunakan teknologi microsoft. Kalau untuk penggunaan pribadi atau hemat memang lebih baik PHP.
ASP.net punya saingan lagi, yakni Ruby dan Node.js
ASP.NET juga jalan di server LINUX. Banyak juga hosting yang menyediakan. Klo Ruby dan Node kan ada ASP.NET MVC
Saya bukan developer php dan tidak tahu banyak mengenainya. Mengenai statistik w3techs.com agaknya terdapat data dengan margin error tinggi. Kenapa? Hampir seluruh server kelas enterprise menggunakan network load balancer (nlb) dan software yg paling umum digunakan sebagai nlb adalah…. Yak.. apache dan nginx…
Sedang application servwr di belakangnya di set sedemikian rupa sehingga sulit diketahui.
Fyi, saya menggunakan java sebagai primary tools dalam bekerja.
Bagaimana dengan JSP? JSF? Kebanyakan perusahaan enterprise semacam perusahaan bank di Indonesia menggunakan Java
Artikel yang menarik dan bermanfaat.
Maaf, mungkin bisa dibedakan lagi khususnya asp. Sepertinya penulis hanya mengulas aspt.net, sementara pendahulunya ada asp (classic), mungkin nggak masuk statistic karena sudah lawas banget ya? Asp classic sangat ringan, bisa jalan juga di platform win 95, xp. gampang susah coding nya sih relatif
Sampai hari ini jujur saya masih menggunakan asp classic, baik itu applikasi internal sampai skala enterprise, dan juga beberapa web ringan. mungkin beda jaman, beda teknologi, beda kebutuhan, beda solusi.
Beberapa situs dan applikasi masih ada lho yang pakai asp classic, yang dekat seperti online store komputer di indonesia seperti bhinn*ka.com, beberapa module nya masih asp, sebagian besar memang .net dan lebih menariknya lagi mencoba combine asp classic dengan jquery, plugin2 nya, sencha dll. Kalu bisa waduh rasanya puas sekali, antimainstream lah sembari riset kecil kecilan.
Pengetahuan saya cetek, nggak mampu belajar setiap ada coding platform baru 🙂 pada dasarnya kembali ke sikon, durability, long term solution+easy to maintain dan ‘free’+dom.
Kembali ke sikon dan permintaan client.
Satu lagi tambahan gan, menurut saya yang sering ngoding PHP dan ASP.NET. Dari sisi development, PHP itu mudah diatasi ketika ada error meskipun tidak ada fitur debugging secara default.
Sedangkan pada ASP.NET memang ada fitur debuggingnya, namun terkadang pesan error yang ditampilkan tidak sesuai dengan error yang sebenarnya. Ini masalah besar menurut saya karena menyebabkan programmer harus googling dulu buat nyari solusinya. Satu lagi, terkadang saya mendapatkan masalah untuk sekedar membuat halaman insert ke database. Seperti perbedaan tipe data antara ASP.NET dan SQL Server, contohnya datetime2 di .NET dan datetime di SQL Server ( padahal sama2 produk microsoft… :D)
Entah, apakah kenyataannya sesuai dengan yang saya katakan diatas atau karena memang saya yang oon, hehe…
Great, analisa yang bagus mas..
Saya programmer php dan asp net, klo disuruh milih antara asp dan php, saya lbih milih asp, karena mvc nya lebih matang drpd php. Untuk fast development nya jg lebih cepat drpd php. Klo buat pemula saya sarankan php saja. Klo bagi yg advance pasti mereka sudah tau sendiri keunggulan teknologi asp. Php masih byk keterbatasan gan. Tp saya akui php mmg populer dan lbih hemat. Apalagi sejak adanya framework laravel. Hehe..