Paket Yönetimi, Kod Yapısı, Framework

14 Aralık 2020 0 Yazar: admin

PHP

  1. PHP’nin bünyesinde hazır bir paket yöneticisi yoktur, Composer kullanılır.
  2. Kodlar paternlere uygun olarak yazılabildiği gibi, onlarca HTML dosyasının içine serpiştirilebilir.
  3. Büyük projeler için MVC mantığı ile çalışan Framework’ler (Laravel, Symfony, WordPress) tercih edilir veya ek paketlerle sıfırdan Framework yazılır.
  4. Routing, template gibi önemli özellikler ancak ek paketlerle kazandırılır.

Go

  1. Go’nun kendi paket yöneticisi vardır ve kullanılmak istenen paketler “go get …” komutu ile kolaylıkla kurulabilir. Go Modules ile de tüm bağımlılıklar rahatlıkla yönetilebilir.
  2. Düzensiz kod yazmaya müsade etmez. Özellikle fmt paketi kodun otomatik olarak uygun şeklde dönüştürülmesini sağlar.
  3. Boşluk (Space) yerine Tab kullanılır.
  4. Kendi routing özelliği (net/http) ve template sistemi vardır.
  5. Routing ve template sistemi sayesinde herhangi bir framework kullanmadan da oldukça sağlam ve stabil projeler geliştirebilirsiniz.

Genel Cevap

Yukarıda yapmış olduğum karşılaştırma oldukça yüzeysel aslında. Temelinde hem üretilme, hem de kullanılma amacı bambaşka iki dil PHP ve Go. Buna rağmen kısa bir karşılaştırma ile genel olarak Go’ya geçme nedenlerimi söylemem gerekirse:

* Mevcut çalıştığım projelerde linux sistem tarafında güçlü bir dile ihtiyaç duymam,
* Aynı anda sistem, network, ve web tarafı güçlü olması gereken bir ürün geliştirmem diyebilirim.

Elbette bu iki sebep, yukarıda yazdıklarımdan sonra sizin ilk aşamada duymayı beklediklerinizdir sanırım fakat esas geçiş nedenim çok farklı 🙂