ForumTayfa  

Go Back   ForumTayfa > Güvenlik & Bilgisayar & İnternet & Webmaster & Programlama Bölümü > Güvenlik & Bilgisayar & İnternet & Webmaster & Programlama > ASP, Perl, Php, Html

ASP, Perl, Php, Html ASP, Perl, Php, Html, Java gibi her tür programcılık dili için yardım alabilceğimiz bölüm...

Yeni Konu aç  Cevapla
 
LinkBack Seçenekler Stil
Alt 24.12.08, 18:08   #1 (permalink)
Acemi Tayfa
 
ShıFтdєLєтє - ait Kullanıcı Resmi (Avatar)
 
Üyelik Tarihi: Dec 2008
Nereden: Ankara/Batıkent
Mesaj Sayısı: 402
Konu Sayısı: 91
Takım: Fenerbahçe
Rep Gücü: 12706
Rep Puanı: 1269432
Rep Derecesi : ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000
Ruh Hali:

Standart ASP.Net ve PHP5 Savaşı




Bu karşılaştırma son zamanlarda oldukça sık duymaya başladığımız durumlardan birisi haline geldi. Peki nedir bu ASP.Net ve PHP5? Avantajları ve dezavantajları neler? Hangisi daha iyi?

Bugün bir web sitesi kurmak için oldukça çok alternatif vardır. HTML kodları arasına iliştirdiğimiz özel taglar sayesinde bir web uygulaması yapabiliriz.

Mesela CGI motorunun yanıt verebileceği kodlar, bu kodlar genellikle sunucu tarafında çalışırlar ve kullanıcı ancak bir istek de bulunduğunda ona karşılık HTML sayfaları üretirler ve yorumlayıcıya gönderirler. Açık kaynak olarak bildiğimiz PHP ve Microsoft firmasına ait ASP.Net çatısı da bu gruptandır. Ayrıca JSP (Java Server Pages) ve Perl dilleri de sunucu taraflı diye nitelendirilebilir.
Ben daha çok ASP.Net ve PHP5 üzerinde durmaya çalışacağım. Aslında amaç sizlere proje geliştirmenizde hangi dili tercih etmenizde fikir vermek, çünkü her ikisinin de eksileri ve artıları var.

ASP.Net ve PHP5 karşılaştırmasında nelere dikkat etmemiz gerekli, birlikte bakalım. Öncelikle maliyeti ve ardından projemizin hızı, esnekliği, güvenliği son olarak da yeniden programlanabilirliği (açık kaynak ve koda müdahale edilebilirliği).

Nedir bu ASP.Net?

Aslında ASP.Net, ASP'nin dönüşümü gibi algılansa da başlı başına yeniden tasarlanmış bir yazılımdır. Biz daha çok ASP ve PHP ile programlanmış web uygulamarına rastlamışızdır. Web çatısının değişmesi ile birlikte artık ASP.Net ve PHP5 kıyası söz konusu olmaya başlamıştır. ASP.Net ile birlikte gelen en büyük esneklik ve güzellik bilinen bir çok programlama diline karşılık verebilmesi ve kolay kombinasyonudur.



Örnek: VB, C#, C, Cobol, SmallTalk ve Lisp gibi... Bu yeni net çatısı ortak bir alan oluşturmuştur. Yani bu ne anlama geliyor; siz C dilinde yazdığınız programınızı derleyip yüklediğinizde kodunuz Microsoft Intermediate Language tarafından tekrar derleniyor ve yorumlayıcıya yollanıyor.

Net çatısı ayrıca nesne odaklı programlama dediğimiz (OOP) yapıya olanak tanımaktadır. Ayrıca XML gibi yapıları ve değişik resim manipulasyonları içinde özel Net kütüphaneleri sunmaktadır. Programlama ve yöntemin yanı sıra veri tabanı ve veri ile ilişkilendirmede önemlidir. ASP.Net çatısında çalıştırdığınız projede veri tabanına ODBC kanalıyla bağlanırsınız.

ASP.Net, Güçlü ve Zayıf Yanları

ASP.Net dizaynı ve sunumu oldukça açık ve sadedir. Nesne Odaklı Programlama ile uğraşan programcıların beklentilerinin web karşılığı diyebiliriz. Aslında bu çatı ile var olan programcılık bilginiz ile ya da bildiğiniz bir programlama dili ile bir web projesi geliştirebilirsiniz.

ASP.Net'in diğer güçlü yanı ise; geliştirme ortamıdır. Mesela geliştiriciler; WebMatrix, Visual Studio .Net yada diğer Borland araçlarından Delphi ve C++ Builder ile çalışabilirler. Mesela, Visual Studio ile çalışırken oldukça geniş bir çalışma olanağı sunuluyor. Hata derlemeleri, test, ipuçları, yenilenen durumlar ve benzeri birçok hizmet.

Tüm bunlara rağmen, ASP.Net bellek kullanımında ve kodu yorumlamada zaman olarak biraz yetersiz kalıyor. Bunun nedeni de geri planda çalışan birçok kod bloğu olmasıdır. Ayrıca web tabanlı uygulamalar da bu durum problem teşkil edebilir. Internet de çok kullanıcı olması ve projenin aynı anda birçok sorguya yanıt vermesi zaman performansını düşürebilir.

Nedir bu PHP?

PHP de diğer web uygulama dilleri gibi HTML üzerine inşa edilmiştir. Sunucunuzda ki PHP motoru kodları alıp tekrar yorumluyor ve HTML sayfalarına dönüştürüp sunuyor. PHP bir programcıya tanıdık gelebilir ama kimdir bu programcı; Perl, C ve Java ile çalışan kişi. PHP de Java ile kullanılmasına rağmen tam olarak OOP (Nesne Odaklı Programlama) bir dil sayılmaz.



PHP de de veri tabanı ile ODBC kanalı ile ilişki kurulabilir. Bunun yanı sıra oldukça çok alternatif de sunulmuştur. Mesela; MySQL, Oracle ve Postgres. Hatta Oracle; PHP için ek kütüphaneler sunmaktadır, OCI8 ile birlikte LOB, BLOB, CLOB ve BFILE gibi olanaklar sunmaktadır.
Eğer Oracle veri tabanına ODBC yada Perl'in DBI kütüphanesinden yararlanarak bağlanıyorsanız diğer veri tabanlarının sahip olmadığı özellikleri ararsınız.

Zend Teknoloji, PHP için ticari bir yazılım ortamı geliştirmiştir. Ayrıca yine Zend Teknoloji firması tarafından Zend Performance Suite geliştirilmiştir. Bu sistem sayesinde sayfa derlenmeleri ön bellekleme ile hız konusunda oldukça büyük bir katkı sağlamaktadır. Öyle ki bu hız performansı hiç bir şekilde azımsanamaz.

PHP, Güçlü ve Zayıf Yanları

- PHP fonksiyon isimleri duyarsızdır. Çoğu programcı bu durumdan hoşnut değildir.
- PHP nesne odaklı bir programlama dili ile dizayn edilmemiştir.
- PHP için maliyet ve lisans konusunda endişelenmeye gerek yoktur. Açık kaynak olduğu için geliştirilmeye açıktır. PHP, Apache ile çalışır. Apache içerisinde modül olarak doğrudan derlenebilir.
- Apache, ayrıca Windows, Linux, Solaris ve benzer Unix platformlarında çalışmaktadır.
- Özellikle Apache'de güvenlik önceliklidir. Son olarak PHP de fazla kod bloğu oluşmadığı için sunucu tarafından derlenip tekrar yorumlayıcıya gönderilmesi uzun sürmez. Bu da projemizin hızını olumlu olarak etkiler.

PHP5 ile Gelen Yenilikler

PHP5, 4.beta sürümü Aralık 2003 sonlarında geldi. Bir çok yeni özellik ve görevle gelmesine rağmen yine de beta olarak gelmiştir.

PHP5'in en büyük kazanımı OOP özelliklerini sunmaya başlamış olmasıdır. Ayrıca try ve catch metotları kullanılabilir hale getirilmiştir. Böylelikle kodlarımız daha temiz ve anlaşılır hale gelmiştir.

<?php
class blue {
function openFile ($inFile) {
if (file_exists ($inFile)) {
# kod dosyamız
} else {
yeni hariç tutulacak kısım diyelim
("Dosya açılamadığında: $inFile");
}
}
}
$blueObj = new blue ();
try {
$blueObj->openFile ("/home/mistake/file.txt");
} catch (Exception $myException) {
echo $myException->getMessage ();
# hariç olarak tanımlanan kodumuzun geri kalan kısmı
}
# metodumuzun geri kalan kısmı
?>


Diğer bir yenilik ise daha önceki PHP serilerinde fonksiyon veya metot bir değerle taşınıyordu. Bu şekildeki veri akışı hem bellek hem de zaman kaybına yol açıyordu. PHP5 de ise bu nesne geçiş durumu referans gösterme şekli ile aşılmıştır.

Ayrıca PHP5, sınıflarınızda güçlü metot ve değişken kontrolleri de sunmaktadır.

Güvenlik Karşılaştırması

ASP.Net, IIS kullanımı gerektiriyor. IIS'in bilinen uzun bir geçmişi vardır. Çoğu zaman bilgisayar korsanlarının hedefi haline gelmiştir ve hala giderilememiş zayıflıkları vardır. PHP ise, Apache üzerinde çalışmaktadır. Açık kaynak ve hızlıdır buda onu oldukça güvenli kılmaktadır. Ayrıca Apache birçok platformda çalışabilirken, ASP.Net; IIS gerektirmektedir.



Yine de siz ASP.Net ile proje geliştiriyor ve projenizin girişinde Apache kullanmak istiyorsanız; bunun için birkaç alternatifiniz var. İlk olarak IIS isteklerini durdurmanız ve Apache'yi devreye sokmanız gerekiyor. Böylelikle aspx içerikleri Apache tarafından alınır IIS sunucu üzerinde derlenip yollanmış olur. Aslında bu nöbetleşe iş yaptırmak gibi bir şey olsa gerek.

Buna karşılık, Apache ile birlikte ASP.Net kullanmak istiyorsanız, uygulamanız Microsoft tarafından desteklenebilir veya desteklenmez, bunu bilmelisiniz.

Size önerebileceğim son alternatif ise Ximian'ın açık kaynak üzerinde çalışan Mono Projesidir.

Bir Veri Tabanı Bağlantısı

PHP veya ASP.Net hiç fark etmez, önemli olan bir veritabanı ile projemizi ilişkilendirmek. ASP.Net için bu biraz karışık olabilir; nedeni ise bir çok dil kullanabilme imkanının sunulmuş olması. Yine her zamanki gibi kodlarımız HTML içerisine gömülmüş olacaktır. Şimdi kafanızda bir fikir oluşması açısından örneğimize bakalım.

PHP5 ile Oracle Veri Tabanı Bağlantımız

Burada PHP5 sınıfları ile Oracle bağlantısı sağlayacağız. (bunun yanı sıra ODBC sürücüleri de kullanılabilir)



class oracle_object {
protected $theDB;
protected $user;
protected $pass;
protected $db;
function __construct($u, $p, $d) {
$this->user = $u;
$this->pass = $p;
$this->db = $d;
}
function db_open () {
$theDB = @OCILogon($this->user, $this->pass, $this->db);
db_check_errors($php_errormsg);
}
function db_close() {
@OCILogoff($theDB);
db_check_errors($php_errormsg);
}
function __destruct () {
print ("so long...");
}
}


ASP.NET ile Oracle Veri Tabanı Bağlantımız

Eğer Oracle Veri tabanına VB.Net ile bağlanıyorsak MSDN'den alınmış örnek kod bloğudur:

Imports System
Imports System.Data
Imports System.Data.OracleClient
Imports Microsoft.VisualBasic
Class Sample
Public Shared Sub Main()
Dim oraConn As OracleConnection = New OracleConnection("Data Source=MyOracleServer;Integrated Security=yes;")
Dim oraCMD As OracleCommand = New OracleCommand("SELECT CUSTOMER_ID, NAME FROM DEMO.CUSTOMER", oraConn)
oraConn.Open()
Dim myReader As OracleDataReader = oraCMD.ExecuteReader()
Do While (myReader.Read())
Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", myReader.GetInt32(0), myReader.GetString(1))
Loop
myReader.Close()
oraConn.Close()
End Sub
End Class


Şimdi Tercih Zamanı

Hiç tereddütsüz PHP5 diye karar verdiğinizi duyar gibiyim. Nedenine gelince; maliyeti, hızı ve güvenliği ayrıca açık kaynak kod imkânı sunuyor olması. Tek zayıflığı ise nesneye dayalı bir programlama şeklinden uzak oluşu. Yani güzel bir kodlama şekli ve kod hâkimiyeti var.



Maliyet: Bildiğiniz üzere PHP ücretsiz olarak sunulmakta ve lisans ücreti gerektirmemektedir. Sadece Zend optimizasyonları için olabilir onlarda o kadar yüksek meblağlar değildir. ASP.Net de ise durum aynı değildir. Daha en başında bu sistem için bir yatırım yapmış sayılırsınız. Çünkü Microsoft firması bunun için dev araştırma laboratuarları kurmuştur.

Hız ve Esneklik: Yukarıda bahsettiğim gibi ASP.Net çatısı birçok dil ile çalışmanıza olanak sunmuştur. Bu sayede çok büyük bir nesne odaklı programlama kitlesi oluşturmuştur. Fakat bu beraberinde hız sorunlarını da getirmiştir. Aslında temelde birçok kodu çalıştırabilir ve ASP.Net olarak üretebilir ama PHP için bu söz konusu değildir. Çünkü PHP motoru sadece PHP denkliğindeki sayfaları derleyip yordamlayabilir. PHP oldukça hızlı ve kolay bir çözümdür. Sadece hız değil kullanılan bellek de önemlidir bu göz ardı edilmemeli.

Güvenlik: ASP.Net, IIS dediğimiz ve çoğu kez kötü ün yapmış bir motor üzerinde çalıştırılır.

PHP ise Apache üzerinde çalıştırılır. Apache, IIS'e göre daha hızlı ve daha güvenlidir.

Çalıştırılabilme Platformu: Bir sunucuda ASP.Net, IIS ve Apache üzerinde çalıştırılabilir. PHP ise daha çok Apache üzerinde çalıştırılabilir şekilde dizayn edilmiştir.

Açık Kaynak İmkanı: Açık kaynak kod sunumu aslında programcılar ve şirketler tarafından fazla benimsenmeyen bir durumdur. Bunun en büyük nedeni araştırma, geliştirme ve lisans bedelleri, ayrıca yazılımın üzerindeki hâkimiyet düşüncesidir. Yani sahip olduğunuz yazılımın kodlarına erişmek sizin için oldukça büyük bir şans olsa gerek diye düşünüyorum.

Özet

Her iki sistemde de yani PHP5 olsun ASP.Net olsun; çok büyük olanaklara sahipsiniz. ASP.Net size sunulan bu olanakları biraz daha resmileştirmiş ve bürokratik hale getirmiştir. Yani yeni gelişimler, ekler, düzeltmeler bu ve benzeri durumları daha hızlı daha kolay geri sunabilmektedir. PHP de ise durum bu kadar iç açıcı değildir. Bir kişinin bulmuş olduğu yeni bir ekin bir başka programcıya geçmesi aylar sürebilir. Buda büyük bir zaman kaybıdır. Aynı şekilde karşılaşmış olduğunuz bir sorunun çözümüne ulaşmanızda zaman alacaktır.



Benim kişisel görüşüm ASP.Net olarak belirmiştir. En büyük nedeni de karşınızda büyük bir şirketin ve bu doğrultuda büyük bir oluşumun olması. Yani sorunlar ve çözümleri size çok yakın.

Açıklamalar:

HTML: HyperText Markup Language
PHP: Personel Home Page Tools. Daha sonradan PHP, Hypertext Pre-Processor haline dönüşmüştür.
ASP: Active Server Pages (Aktif Sunucu Taraflı Sayfalar)
JSP: Java Server Pages (Java Sunucu Taraflı Sayfalar)
CLR: Common Language Runtime (Ortak Dillerin Tek Çatıda Çalıştırılması)
OOP: Object-oriented Programming (Nesne Odaklı Programlama)
LOB: Large Object (Yapılandırılmamış (unstructured) veri bloklarının 4GB'a kadar verinin binary ya da karakter olarak saklanmasını ve işlenmesini sağlar (örneğin metin, grafik görüntüleri, video klipleri, ses vs. gibi).
BFILE: (Binary FILE) - (LOG)- (Bu alan türünde dosyalar oracle veritabanında değil external olarak belirtilen bir directory (dizinde ) saklanır ve sadece adresleri oracle da saklamak için kullanılan bir binary veri tipidir.)
BLOB: (Binary LOB) - (PICTURE)- (Yapısal olmayan ve 4 Gb ye kadar olan binary formattaki bilgileri saklamak için kullanılabilir, BLOB'lar RAW'a, RAW'lar da BLOB'a çevrilebilir.)
CLOB: (Character LOB) - (DOCUMENT) - ( 4Gb kadar olan karakter katarlarını saklamak için kullanılabilecek alan türüdür, CLOB'lar CHAR ve VARCHAR2'ye çevrilebilir, bunun tersi de geçerlidir.)
ODBC: Open Database Connectivity (Veri Tabanı Bağlantısı)
IIS: Internet Information Services (Web Sunucusu)
Apache: The Apache Software Foundation (Web Sunucusu)
MSDN: Microsoft Developers Network (Microsoft Şirketine ait Geliştirme Ağı)
Mono Projesi: [Sadece Kayıtlı Kullanıcılar Linkleri Görebilir.Kayıt Olmak İçin Tıklayınız...] (Bu proje ile ilgili ayrıntılı bilgi bulabilirsiniz.)


__________________

ShıFтdєLєтє isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
İstiklal Savaşı djorge72 Genel Tarih ve İnkılap Tarihi 0 14.11.08 11:16
vietnam savaşı alayına_gider Genel Kültür 0 15.11.07 03:24
Bosna Savaşı alayına_gider Genel Kültür 0 08.10.07 03:27
Jaba savaşı recep_oflu Anadolu Takımları 1 19.09.07 13:04
Masaüstü savaşı q£Lincik Komik Flashlar 2 31.08.07 14:57


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 06:19.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.6.0
User Alert System provided by Advanced User Tagging v3.0.6 (Lite) - vBulletin Mods & Addons Copyright © 2020 DragonByte Technologies Ltd.
ForumTayfa

Arşiv: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 100 102 103 104 105 106 155 156 157 158 159 160 161 162 163 164 167 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271


ForumTayfa - Link Değişimi
Telinka İletişim | Voip Ürünleri | Link Değişimine Katılın |

Sitemiz bir forum sitesi olduğundan dolayı, kullanıcılar her türlü görüşlerini önceden onay olmadan anında siteye yazabilmektedir. ForumTayfa Yöneticileri mesajları itina ile kontrol etse de, bu yazılardan dolayı doğabilecek her türlü sorumluluk yazan kullanıcılara aittir. Yine de sitemizde yasalara aykırı unsurlar bulursanız [email protected] email adresine bildirebilirsiniz, şikayetiniz incelendikten sonra en kısa sürede gereken yapılacaktır.

Any member of our web site has the right of adding comments instantly without getting permisson due to the forum structure of our site basis. Althought, our site modarators check comments with care, all the responsibilities sourced from these comments directly belong to the members. If you still find any illegal content in our site ( A.buse, H.arassment, S.camming, H.acking, W.arez, C.rack, D.ivx, Mp.3 or any Illegal Activity ), please report us via [email protected] .Your reports will be evaluated as soon as the arrival of your e-mail.