PhpStorm

Bir PHP programcısının geliştirme ortamının evrimi, genellikle Dreamweaver gibi uyduruk WYSIWYG yazılımlarla başlar, metin editörleri ile devam eder ve bir IDE ile son bulur.

Ben de yıllardır Notepad++ kullanıyorum. Ne var ki Notepad++ zamanla ihtiyaçlarımı karşılamamaya başladı ve yeni bir geliştirme ortamı için arayışa başladım. Bu arada da kendi Metin Editörü / IDE deneyimlerimi paylaşmak istedim ki belki başkalarına da yol gösterici olur.

Notepad++

Ücretsiz, açık kaynak olması, C++ / SDL ile yazılmış olması nedeniyle stabil ve hızlı çalışması yönleriyle yıllarca kullandım. Ancak öyle eksiklikleri var ki artıları bile bazen kurtaramayabiliyor. “Akıllı” bir kod tamamlama özelliğinin olmaması, kod biçimlendirmesinin yetersiz olması örnek verilebilir.

Mesela bir kod bloğunu bir kaç defs kopyalayıp yapıştırdığınızda, bloğun ilk satırı Uçan Adam Sabri Bey gibi yuvarlanıp gidiyor. Geliştirici arkadaş bu esnada arka plana “Alllaaahhh” diye ses efekti koyabilirse fena olmaz.

phpstorm-notepad-plus-plus-1

Son zamanlarda, kod yazmaktan daha fazla zamanı kod biçimlendirmeye ayırmaya başlamıştım ki, bu durum beni çok Melis’lendiriyordu.

melis-01

Bu kıza sataştığıma bakmayın, kendisinin hayranıyım. Kadın dediğin yeri geldiğinde bir Exorcist, bir Damien Omen olabilmeli.

Sonuc olarak Notepad++ ile ilişkimi bitirme kararı aldım ve başka metin editörlerine doğru yelken açtım.

GitHub Atom

Açık kaynak, ücretsiz, arayüzü çok güzel ve Notepad++’ın aksine yüksek özelleştirilebilirliğe sahip.

github-atom

Gelelim zurnanın zırt dediği yere… Kendisi tam anlamıyla “native” bir uygulama değil. GitHub’un “Web Native” olarak tanımladığı Native / Web karışımı Chromium tabanlı bir hybrid uygulama. Bu da performans ve stabilite sorunlarını beraberinde getiriyor.

Eğer bir uygulamanın, verimlilik / performans kıyaslamasında verimliliği yüksek ise düşük performansı göz ardı edilebilir. Ancak Atom, bir metin editörü olarak çok fazla bir yenilik getirmiyor. Halen devam eden çökme sorunları ise cabası.

Eğer uslu bir çocuk olursanız Şirinler’i, hatta Atom’un iyi bir editör olduğu günleri bile görebilirsiniz ama şu haliyle Atom, Angry Video Game Nerd‘ün tabiriyle:

I should be doing something better with my time.. Like rolling dog terds in cement.

NetBeans

Bir süre sonra aradığım geliştirme ortamının bir metin editörü değil IDE olması gerektiğinin farkına vardım. IDE’den anladığınız, Visual Studio gibi “Drag & Drop” bir geliştirme ortamı ise büyük hayal kırıklığı yaşayabilirsiniz. PHP için ASP.Net benzeri bir tümleşik geliştirme ortamı henüz ufukta görünmüyor. Ancak geliştirme sürecinizi hızlandırmayı ve kolaylaştırmayı vaadeden IDE’ler mevcut. Bunlardan bir tanesi ise Netbeans.

Yavaşlığı fıkralara konu olmuş JAVA ile yazılmış olmasını kabul edebilirim. Ancak IDE dediğin programcıya artı değer katmalı, leb demeden leblebiyi anlamalı, gerektiğinde mısır patlağı yapabilimeli.

NetBeans projenizi indekslemede, otomatik kod tamamlamada yeterince başarılı değil. Örneğin projenizde “mysqli” sınıfından bir “$db” nesnesi olsun. Nesnenin metodlarına erişmek istediğinizde size neredeyse bütün PHP fonksiyonlarını öneri olarak sunuyor. Yani nesnenin hangi sınıftan olduğunu tanımıyor, ta ki VarDoc ile nesnenizi tanımlayana kadar. Bunu yapma gerekçesi olarak da “maliyetli” olmasını öne sürüyor.

netbeans-1

“Expensive” derken kastettiği: “Kod optimizasyonundan anlamıyoruz”.

PhpStorm

Hem mecazi anlamda hem de gerçekten altını çizerek söylüyorum: PhpStorm ile kod yazmak bir zevk.

phpstorm-1

PhpStorm ile bir kere tanıştıktan sonra, şimdiye kadar kullandığınız metin editörlerinin ve IDE bozması yazılımların zaman kaybı olduğunu göreceksiniz. PhpStorm’un özellikleri saymakla bitmeyecek kadar fazla.

Yazılımın, PHP programcısının dilinden anlayan “coder”ların elinden çıktığını kısa sürede farkediyorsunuz. PhpStorum çoğu zaman ne yazmak istediğinizi daha ilk karakteri yazarken tahmin ediyor. Visual Studio’nun meşhur IntelliSense’ine yakın bir “akıllı” kod tamamlama özelliği var.

Dahili veritabanı yöneticisi, HeidiSQL‘i bana bilgisayarımdan sildirecek kadar başarılı.

phpstorm-2

“Local History” özelliğinin bir çok defa hayatınızı kurtaracağından emin olabilirsiniz.

phpstorm-3

Kod biçimlendirme seçenekleri, yüksek özelleştirilebilirliğe sahip. Kendi tanımlamalarınızı yapabileceğiniz gibi ön tanımlı PSR-1/PSR-2 biçimlendirmelerini kullanabilirsiniz.

phpstorm-4

Yazılımın bütün özelliklerini burada yazabilmem imkansız. Ama şundan emin olabilirsiniz ki, PhpStorm’da “keşke şu da olsa” diyebileceğiniz bütün özellikler ve daha fazlası mevcut.

Sözün özü; daha iyisi yapılana kadar en iyisi PhpStorm.

Facebook Twitter Digg Delicious

29 Şubat 2016 tarihinde yayınlandı.