Saya telah mewarisi proyek yang cukup menarik di mana ada peluang bagus untuk mengambil perangkat lunak yang ada dan mengubahnya menjadi aplikasi web SaaS. Karena proyek ini diwarisi, basis kode / kerangka kerja telah didefinisikan sebagai C ++ dan MySQL. Aplikasi itu sendiri dikompilasi dan dijalankan sebagai EXE di Windows Server. UI berbasis web dan aplikasi berfungsi sebagai semacam server. Dari apa yang saya ketahui tentang aplikasi web modern, ini mungkin merupakan pilihan yang tidak biasa. Saat ini, kebanyakan orang tampaknya memilih kerangka kerja PHP atau Ruby on Rails. Tentu saja itulah kesan yang saya dapatkan dari membaca blog tentang topik tersebut. Jadi, saya sangat tertarik untuk mengetahui apakah C ++ EXE yang didukung oleh MySQL merupakan dasar yang kuat untuk aplikasi web, atau apakah kita harus mencari cara lain untuk membangun?
sumber
Jawaban:
Tidak apa-apa untuk membuat aplikasi web menggunakan C ++ JIKA manfaatnya melebihi biaya, jelas. Google, Amazon, Facebook semuanya dibangun dengan C ++ untuk efisiensi dalam kecepatan, memori dan energi - alias biaya server.
Namun seperti yang Anda duga, ada kelemahan menggunakan C ++ untuk ini. Itu tergantung pada alat Anda.
Pertama-tama izinkan saya mengutip situs web cppcms tentang ini:
Kerugian khusus untuk C ++ adalah:
Mungkin lihat CPPCMS? Atau mungkin jika Anda ingin membuat situs web bergaya GUI?
Periksa juga pertanyaan-pertanyaan ini:
sumber
Wordpress berjalan dalam PHP dengan beberapa plugin terinstal membuat server Winders saya bertekuk lutut. Jadi saya tidak punya masalah sama sekali dengan gagasan menerapkan aplikasi web di C ++. Kecepatan adalah bagian penting dari pengalaman web.
Tenda desain grafis untuk mendorong sebagian besar proyek web. PHP adalah bahasa skrip yang tidak jelas yang berjalan di dalam HTML. Mengizinkan penulis PHP melarikan diri masuk dan keluar dari HTML. Ada banyak manfaat dengan bekerja dengan HTML sebagai hasilnya.
Namun, Anda dapat menerapkan sejumlah solusi template HTML di C ++.
Seseorang bisa memberi Anda daftar panjang kerangka Python dan PHP yang membuat perkembangan cepat, tetapi jika Anda punya banyak waktu maka C ++ pasti mungkin.
Yang tidak saya mengerti adalah keputusan Anda untuk melakukan C ++ di Windows. lol
sumber
Ini tentu merupakan pilihan yang tidak biasa. C ++ tidak dirancang dengan aplikasi web dalam pikiran, dan sementara perpustakaan ada untuk menulis, katakanlah, aplikasi FastCGI dengan C ++, Anda harus melakukan lebih banyak pekerjaan untuk mendapatkan aplikasi dasar Anda. "Bahasa Web" biasanya melakukan banyak hal untuk Anda yang harus Anda dapatkan dari tempat lain di C ++, seperti menerapkan protokol HTTP, menghasilkan HTML, dll.
Selain itu, aplikasi web kebanyakan tentang string, yang bukan sisi terkuat C ++ - tidak ada tipe string yang dibangun ke dalam bahasa itu sendiri, dan ini mengarah pada beberapa keanehan dan membuat pemrosesan string lebih kikuk daripada pada yang lebih tinggi. bahasa tingkat Menangani pengkodean karakter dengan benar di C ++ berbatasan dengan ilmu hitam. Dan C ++ dapat crash sangat keras, pada kode yang tampak tidak bersalah, yang jauh lebih kecil kemungkinannya dengan bahasa tingkat yang lebih tinggi (mereka juga bisa crash, tetapi dalam kebanyakan kasus, server web dapat pulih dengan anggun, terutama pada platform yang menggunakan per -meminta model siklus hidup, seperti PHP).
Yang mengatakan, jika Anda memiliki sebagian besar basis kode yang sudah ditulis, C ++ mungkin masih menjadi pilihan yang layak. Anda perlu menemukan beberapa perpustakaan untuk mencakup semua hal web (terutama, Anda ingin dapat mengintegrasikan server web HTTP mandiri ke dalam program Anda, atau menghubungkan ke, katakanlah, Apache, baik melalui FastCGI atau dengan mengompilasi ke sebuah modul; Anda juga akan menginginkan semacam templating library untuk membuat rendering dokumen HTML tidak menyakitkan).
Akhirnya, ada masalah pasar pengembang. Ada banyak pengembang C ++ yang tersedia, dan bahkan lebih banyak pengembang web, tetapi tumpang tindihnya mungkin tidak terlalu besar, jadi jika Anda perlu mempekerjakan orang untuk mengerjakan hal ini, Anda akan memiliki waktu yang agak sulit daripada dengan, katakanlah, PHP
sumber
Seperti yang orang lain katakan, secara konseptual, C ++ adalah lingkungan yang baik untuk pengembangan server web. Namun, ada beberapa pertimbangan saat Anda membuat keputusan itu.
Popularitas bahasa scripting untuk desain server web berbalik waktu. Perubahan sederhana dapat dilakukan dengan mudah dengan mendemonstrasikan hasil hampir secara langsung. Anda akan menemukan bahwa setiap desain server web yang bagus akan menawarkan kemampuan yang serupa. Memang, C ++ adalah lingkungan yang sangat baik untuk mencapai tujuan itu.
Kunci untuk membangun sistem aplikasi server web yang baik adalah pemisahan UI dari kode. Tujuan dalam membangun lingkungan aplikasi web adalah untuk menghindari "UI Anda ada dalam kode saya dan kode Anda ada di UI saya."
Saya ingin hati-hati di sistem seperti cppcms. Saya berharap itu menawarkan sesuatu yang serupa.
Anda tidak memerlukan bahasa skrip untuk menawarkan fleksibilitas dan kinerja.
sumber