PHP için bir çok açık kodlu veya lisanslı geliştirme aracı bulunmaktadır. PHPEdit, Editplus ve Java geliştirilmek için kullanılan Eclipse bunlardan bazıları.
Hatta bir “Add On” yükleyerek Microsoft Visual Studio 2003 ortamında da PHP uygulamalarını geliştirebilirsiniz.
Bir çok PHP geliştiricisi kendilerine sadece renklendirmenin yeteceğini düşünürler bu yüzden Eclipse, Visual Studio ve Zend Studio gibi ağır geliştirme ortamlarını kullanmak istemezler. Bu yaklaşım ufak ölçekli projeler için geçerli olabilir,fakat orta ve büyük ölçekli projeler için mutlaka gelişmiş bir IDE (Integrated Development Environment “Bütünleşik Geliştirme Ortamı”) gerekmektedir. Bu saydığım IDE’lerden, başlıklardan anlayabileceğiniz gibi Zend Studio’nun üzerinde duracağım ve nasıl kullanılacağından ziyade yeteneklerini size aktarmaya çalışacağım.
Peki neden Zend Studio ?
PHP ile tanıştığım süre içerisinde bir çok geliştirme aracı denedim ve bundan dolayı uzun süre kaybettim; hatta ilk denediklerimden biri Zend Studio idi. Sonra gerçekten ağır bulup uzun süre PHPEdit kullandım ve PHPEdit ile bir çok uzun soluklu proje geliştirdim. Bunun sebebi tamamiyle yazılım geliştirme sürecini programlamaya başladığım süre içerisinde kavrayamamış olmamdı. Benim için bir yazılımın testi,bizim tarafımızdan yapılan “Developer Pre-Test” olarak adlandırılan öncelikli hata ayıklama idi. Bu test genellikle fonksiyonel hataların bulunup giderilmesini amaçlar. Fakat ciddi bir projede test sürecinde bu adımdan sonra farklı senaryolar baz alınarak yapılan yük ve stress testleri gelmektedir. Bu testler sonucu hatalar ayıklanır ve raporlamalar sonucu bazı geliştirilmiş bölümlerde performans iyileştirmeleri yapılır. Tüm bunlar sizin için bir saçmalıksa Notepad kullanmaya devam edersiniz fakat ne yazık ki kurumsal pazarda yeriniz olmaz.
Peki bunları önemsiyorsunuz fakat test araçlarını geliştirmek bazen yazılımı geliştirmekten daha maliyetli olabiliyor ve sizin bu kadar bütçeniz yok. Bu durumda Zend Studio ile tanışmanın vakti geldi. Sadece test bazında size süre kazandırmaz aynı zamanda PHP5 desteği ile tanımladığınız tüm sınıfların ve metodların kolay erişimini intellisense “kod tamamlama” özelliği ile geliştirme sürecini de hızlandırır. Aynı zamanda PHP geliştiricilerine çok uzak olan adım adım hata ayıklamayıda desteklemektedir.
Zend Studio ‘yu bir çok IDE’nin içerisinden cımbız ile çekip alıyoruz çünkü en önemlisi PHP geliştiricileri tarafından geliştiriliyor ve platform bağımsız bir IDE. Peki hiç dejavantajı yok mu ? İlk yazımdan da hatırlayacağınız gibi sanal makinaların performansı nasıl olumsuz etkilediklerini anlatmıştım. Zend Studio JAVA ile geliştirilmiş bir uygulamadır. Özellikle IDE gibi çok kapsamlı bir uygulamayı sanal makinalar ile geliştirmek büyük performans kayıplarına neden oluyor. Fakat Zend Studio’nun fonksiyonalite bakımından ne yazık ki rakibi yok.
Zend Studio Size Neler Sunuyor ?
- Geliştirme
- PHP5 Desteği
- JavaScript ve HTML Desteği
- Kod Tanıma ve Renklendirme
Kod Tamamlama (Kullanıcı tarafından tanımlanan değişken, fonksiyon, sınıf ve metodlarının çağırılması durumunda tanımlanması ) - Kod Taslakları Yaratma ve Kullanma
- Değiştirilebilir Kod Renklendirme
- Test
- PHP Profiler
Geliştirme Sürecinde Dahili veya Uzaktaki Sunucuda Hata Ayıklama
Adım Adım Derleme Zamanında Değişken Takibi: PHP ‘de çalışma zamanında adım adım ilerleme uzun süre mümkün değildi. Bu da hata ayıklamayı gerçekten bir kabus haline getirmekteydi, özellikle kod büyüdükçe değişkenleri ekrana yazdırarak hata ayıklamak nerdeyse imkansız oluyordu.
Kod Analiz Aracı
Gerçek Zamanlı Yazım Kontrolü (Syntax “betimleme” hatalarının hemen belirlenmesi)
Yönetim
CVS Uyumu ile Değişim Yönetimi : bu çok önemli bir özelik çünkü dosya bazında modül bazında ve yazılımınızı düzgün versiyonlamak için bugün en iyi yöntem CVS’dir ve Zend Studio bunu desteklemekte.
Güvenli Dosya Transferi : her zaman risk yönetimi projelerde es geçilir. Fakat projeye uzaktan çalışarak katılan geliştiricilerin gönderdikleri kod eğer güvenli bir yuvadan geçmiyorsa kodlarınızın çalınma riski vardır. Bu yüzden harici olan dosya transfeleri bile güvenli yuva üzerinden yapılmalıdır. Çünkü networkünüze sızılıp sızılmadığını bilemezsiniz.
Otomatik Kod Dökümantasyonu Oluşturulması : Bir açık kod projesi olan PHPDoc geliştiridiğiniz kodu analiz ederek size PHP Manual ‘de olduğu gibi bir API dökümantasyonu çıkarır. Zend ile PHPDoc uyumlu çalışarak size tam bir çözüm sağlar.
Diğer Zend Ürünleri:
Zend SafeGuard Suite & Zend Optimizer: PHP ile yazılımınızı geliştirdiniz; bunu müşterinize vericeksiniz fakat kodlarınız görüntülenebiliyor ve müşterinizin bunu sizden habersiz çoğaltmasına engel olma şansınız yok. Aynı zamanda lisans için zamanlama ve kullanıcı sınırlamasıda vermiyorsunuz. Bu durumda sizin için gerekli olacak araç Zend SafeGuard Suite’dir. SafeGuard kodunuzu sıkıştırmanıza ve bir çok özelliğe göre lisanslama yapmanıza imkan verir. Bu şekilde müşterilerinize gönül rahatlığı ile deneme sürümleri dağıtabilirsiniz. Örneğin aynı anda 3 kişinin yazılımı kullanması veya 1 sene içerisinde süresinin dolması gibi aynı zamanda makinanın CPU ve ağ bağdaştırıcısının MAC tanımlarına göre yazılımı belirli donanımlar dışında kullanılmasınıda engelleyebilir bu şekilde izinsiz dağıtılmasının önüne geçebilirsiniz.
SafeGuard ile sıkıştırılmış PHP kodları bulunduğu sunucuda çalışmak için Zend Optimizer’a ihtiyaç duyar. Optimizer’da PHP gibi platform bağımsızdır. Bu sayede yazılımınızı sağıtmakta sıkıntı çekmezsiniz. SafeGuard ücretli olmasına rağmen Optimizer sadece AIX platformu için ücretlidir. Bu ikilinin size sunduğu diğer bir avantaj kodlarınızı bir ön derleme sürecinden geçirip çalışma zamanında yazılımınızın performansını arttırmasıdır.
Zend WinEnabler: Windows ortamında PHP kodlarının büyük bir performans kaybı ile çalıştığı aşikardır. Özelliklede IIS üzerinde çalıştırılan PHP linux üzerinde aldığınız performansın nerdeyse yarısından fazlasını kaybeder. Bunun önüne geçmek için Zend firması yeni bir ürün çıkarıyor. Bu ürün PHP kodlarının hafızada derlenmiş hallerinin tutulup bu şekilde kodu ayrıştırmada kaybettikleri süreci geri kazandırmak peşindeler. Fakat ürün hala geliştirilme aşamasında.
Zend Platform : Microsoft’un Visual Studio Team System’i duyurması ile beraber Zend’de aynı yapılanma içine girdi ve farklı geliştirme araçlarını bir platform altında topluyor. Bu şekilde bir proje içerisinde farklı roller tek temas noktası ile iletişimlerini daha kolay sağlıyorlar. Buna ek olarak çalışma zamanında sunucu tarafında geliştirilen hata takip sistemi web ara yüzü ile, geliştirdiğiniz yazılımın ne kadar sağlılıklı veya ne kadar peformanslı çalıştığını size raporluyor.
* Zend Encoder ile Zend SafeGuard Suite arasındaki fark nedir ?
Zend Encoder sadece kodun sıkıştırılmasını sağlar. SafeGuard aynı zamanda lisanslama imkanıda sunar.
* Zend Engine Nedir ?
Ilk Zend kurucuları olan Andi Gutmans ve Zeev Suraski tarafından PHP içerisine gömülen PHP kodlarının daha performanslı çalışmasını sağlayan bir yapıdır.
Ücretsiz ve açık kodludur.
Dip Not: Zend firması artık PHP geliştiricileri için lisans sınavları başlatmıştır. Eğitim paketini alıp ilgili sınavı verdikten sonra Zend Lisanslı PHP geliştiricisi olma şansınız var.
Detay için:
http://www.zend.com/store/products/zend-studio-in-depth.php
Zend Studio’yu indirmek için:
http://www.zend.com/store/products/zend-studio/beta.php
Kaynak: csharpnedir.com
Makale için teşekkürler.