Web programlama olan bilgisayar programlama ait düzenleme sağlar web siteleri . İnternette veya Intranet'te dağıtılması amaçlanan uygulamaların oluşturulmasına izin verir . Bu web uygulamaları , aşağıdakiler gibi farklı biçimler alabilen web sayfalarından oluşur:
Bir İçin İnternet kullanıcısı bir kullanır URL , ilgili web sayfası statik veya dinamik olsun, "istemci tarafı" kod (oluşur HTML , CSS , JavaScript , onun tarayıcı (tarafından yorumlanır, vb) Google Chrome , Firefox ,. ..) bir kullanıcı arayüzü üretmek . Bir web sunucusu tarafından döndürülen bu kod, veritabanlarını , API'leri vb. Çağırabilen belirli programlama dilleri aracılığıyla "sunucu tarafı" hesaplamasıyla oluşturulmuş olabilir veya olmayabilir .
Web sunucuları aracılığıyla web siteleri oluşturmayı mümkün kılan farklı teknolojiler ve farklı diller vardır, bu nedenle iki ilkeye göre sınıflandırılabilir: istemci tarafında veya sunucu tarafında programlama dilleri . Bu ayrım, kullanıcının tarayıcısına ulaşmadan önce kodu web sunucusunda çalıştırılan "sunucu tarafı" dillerini, yürütülmesi web üzerinde hesaplama gerektirmeyen "istemci tarafı" dillerinden ayırmak için yapılır. Web sunucusu ancak, yalnızca sayfayı indirdikten sonra, kullanıcının tarayıcısı tarafından bir yorum.
Bir ziyaretçi bir adres veya URL yazarak bir sayfa talep ettiğinde , web sunucusu istenen sayfanın içeriğini, çoğunlukla HTML , Javascript veya XML biçiminde geri gönderir .
Daha sonra, belirli nesneleri yorumlayan eklentileri kullanıp kullanmadığına bakılmaksızın, döndürülen içeriği yorumlayan web tarayıcısıdır .
"İstemci tarafı" programlama (veya ön uç web geliştirme ), bir web tarayıcısı (veya masaüstü yazılımı veya mobil uygulamalar için bir pencere) tarafından yorumlanacak kod (HTML, CSS , Javascript, ...) üretmekten oluşur ve görsel bir oluşturma: bir kullanıcı arayüzü ( UI ) ve diğer sayfalarla ( UX ) gezinmeye, bağlantılara izin veren belirli öğeleri .
Herhangi bir web sayfası bir HTML veya XHTML dili tabanı içerir . Temel olarak web sayfasının yapısını (başlıklar, tablolar, paragraflar, listeler vb.) Tanımlayan bir biçimlendirme dilidir .
Başlangıçta, köprülerin , yani bir belgeden diğerine veya bir belgedeki bir yerden aynı belgedeki başka bir yere ( parça tanımlayıcı ) bağlantıların oluşturulmasına izin veren bir dildir .
Bu dil başlangıçta yalnızca sayfanın yapısını tanımladı, ancak çok hızlı bir şekilde web sayfasının özelliklerini (içerik hiyerarşisi, etiketlere verilen öznitelikler, vb.) Belirleyen işaretler (veya etiketler ) eklendi .
Sürüm 4'ten bu yana, HTML'ye sayfanın biçimlendirmesini ve animasyonunu sağlayan stiller olan CSS eşlik ediyor .
XHTML, XML tabanlı bir HTML evrimidir .
HTML’ye nesne eklemeHTML'de bir web sayfasını daha dinamik hale getirmek için, örneğin <object>, <img>, <applet> veya <script> etiketlerini kullanarak nesneler eklemek mümkündür.
ResimlerBirinci nesne türü , web sayfasına entegre edilen görüntülerdir . Animasyonlu gifler haricinde resimler genellikle statiktir .
Taşınabilirlik Web için standart dosya biçimleriyle (.gif, .jpg veya. Jpeg ve. Png ) kendimizi sınırladığımız sürece , resimler şüphesiz web üzerindeki en çok platformlu nesnelerden biridir: web tarayıcılarının çoğu resimleri görüntüleyebilir. Kurulum Dijital görüntüler çok "genel bir kamu" aracı haline geliyor ve img etiketi kullanılarak bir web sitesinde uygulanması oldukça kolay. MultimedyaMultimedya belgelerinin ( ses veya video ) entegrasyonu .
Kurulum Ses veya video dosyası oluşturulduktan sonra, HTML sayfasına <audio> veya <video> etiketleri aracılığıyla HTML5'te yerleştirme yapılabilir . Verim Multimedya dosyaları genellikle ağırdır ve bu nedenle indirilmesi uzun zaman alır. Web sayfasının performansını (yükleme süresini) azaltabilirler. Bununla birlikte, akış oynatmaya izin veren teknolojiler vardır . 2010'ların başına kadarFlash animasyon
Flash ( Adobe Systems - Macromedia'dan ), nispeten hafif bir özel vektör formatında animasyonlar oluşturmanıza izin veren bir programdır . Program, çalışma dosyası olan ve .swf uzantılı bir dosyada 'derlenecek' .fla uzantılı bir dosya oluşturur. Swift , Macromedia küresinin dışında swf dosyaları oluşturan başka bir programdır .
Bir web sayfasında, bir Flash animasyonu (.swf uzantılı dosya) sayfanın bir parçası olarak (bir reklam, bir menü, ...) entegre edilebilir veya tüm sayfa flash olabilir, ancak her zaman bir HTML iskeleti olacaktır. .
Flash, kaliteli animasyonlar oluşturmaya izin verir, ActionScript programlama dili ( JavaScript gibi ECMAScript'ten türetilmiştir) sayesinde kullanıcıyla bir miktar etkileşime izin verir . Flash'ın en son sürümleri ayrıca bir veritabanı ile arayüz oluşturmaya izin verir.
Adobe Flash Player resmi olarak kullanımdan kaldırılacak Aralık 2020web tarayıcılarındaki desteğinin yanı sıra.
Java uygulaması (uygulama)
Java gibi bir programlama dilinde arayüzlü küçük programlar oluşturmak da mümkündür . Bu küçük programlar denir applet'ler veya applet'ler . Tamamen özerktirler ancak muhtemelen yapılandırılabilirler ve bir web sayfasına entegre edilebilirler. Web sayfası ile indirilirler ve istemci bilgisayar tarafından yürütülürler.
Java sanal makinesi sayesinde kod platformdan bağımsızdır .
ActiveX
ActiveX, Microsoft tarafından geliştirilmiş bir uygulama oluşturma çözümüdür . Çalışma prensipleri, uygulamaların çalışma şekline çok benzer. Ayrıca bkz. Bileşen Nesne Modeli
HTML sınırlamalarıHTML ile oluşturulan bir web sayfası tamamen statiktir ve ziyaretçiyle çok az etkileşim olanağı sunar. Her sayfa önceden oluşturulmalı ve manuel olarak güncellenmelidir.
HTML çapraz platformdur. Tüm web tarayıcıları temel HTML dilini tanır, yalnızca belirli etiketler veya özellikler belirli tarayıcılara özgüdür. CSS, W3C tarafından standartlaştırılmış olsalar bile , farklı web tarayıcıları tarafından her zaman aynı şekilde tanınmaz.
KurulumHTML'nin kolay kurulma avantajı vardır ve çok ileri teknik beceriler gerektirmez. Sayfaları sunucu tarafından çok hafif ve hızlı işleniyor.
XML ( Genişletilmiş Biçimlendirme Dili )İşaretleme dili XML ayrıca bir web sayfası için temel olabilir. XML dosyası web sayfasının içeriğini içerecektir.
Bu dosya , XML dosyasındaki verileri biçimlendirecek bir XSL (XML Stil Sayfaları) dosyasına bağlanabilir .
Çoğu zaman, web sayfası yerel bir XML dosyasına dayalı olmayacak, ancak aşağıdaki web programlama dillerinden biri tarafından dinamik olarak oluşturulacaktır.
CSS (basamaklı stil sayfaları), bir web sayfasını biçimlendirmek için kullanılan bir programlama dilidir. HTML ve CSS tamamlayıcıdır.
İstemci tarafı programlama, komut dosyası dillerini kullanır. Sunucu tarafı programlama dillerinden farklı olarak, bu diller derlenmez. Ziyaretçinin web tarayıcısı tarafından yorumlanırlar.
Komut dosyası dilleri başlangıçta form doğrulama (zorunlu alanlar, küçük hesaplamalar vb.) Ve kullanıcının tarayıcısında animasyonların oluşturulmasında (açılır menüler, sayfayı yeniden yüklemeden içeriğin yenilenmesi, ...) kullanılır. ). Ancak bugün, video oyunlarının oluşturulması (API Canvas), ses ortamlarının oluşturulması (API Web Audio), gerçek zamanlı iletişim (API RTC) vb. Gibi çok daha fazlasının yapılmasına izin veriyorlar.
2010'ların ortalarından itibaren , iyi belgelenmiş ve Node.js gibi geliştirici topluluğu tarafından yaygın olarak tavsiye edilen, JavaScript tabanlı yazılım platformlarının ve açık kaynaklı çerçevelerin gelişiyle birlikte eksiksiz web uygulamalarının geliştirilmesi için Script programlama çok yaygın hale geldi. programı , aynı zamanda Vue.js (bağımsız), ReactJS (Facebook) veya AngularJS (Google) çerçeveleri ve kitaplıkları .
Tarihsel olarak birkaç betik dili vardır:
Bir ziyaretçi tarayıcısına bir URL'nin yüklenmesini talep ettiğinde (veya talep ettiğinde ), ilgili siteyi barındıran web sunucusunda bir çağrı (çoğunlukla HTTP veya HTTPS aracılığıyla ) yapılır . Web sunucusu daha sonra bu URL'ye karşılık gelen komut dizilerini ("sunucu tarafı" dilinde yazılmış) tanımlayacak ve yürütülmelerini isteyecektir. Yürütme daha sonra HTML içeriğiyle sonuçlanacak ve bu içerik daha sonra ziyaretçiye yanıt olarak gönderilecek ve tarayıcısı tarafından okunabilir.
Bu nedenle "sunucu tarafı" programlama, harici verilerin ( veritabanları , API , vb.) Yürütülmesi, hesaplanması ve kurtarılması istemciye gönderilecek içerikle sonuçlanacak kod üretmekten oluşur . Bu içerik "istemci tarafı" kodu olabilir.
Node.js programını kullanarak bir web sunucusu kurmak , URL'leri, özellikle Express.js aracılığıyla , Javascript'te geliştirilen bir kod projesine maruz bırakmak mümkündür .
PHPPHP ( PHP: Hypertext Preprocessor ), sunucu tarafında yorumlanan bir betik dilidir. PHP kodu sunucu tarafından okunur ve sayfa her istendiğinde bir HTML sayfası (veya resimler veya PDF belgeleri gibi diğer dosya türleri) oluşturmak için yorumlanır. Bu dil başlangıçta Açık Kaynak yazılımının bir parçası olarak oluşturulmuştur . Daha sonra birçok geliştirici, isteğe göre yapılandırılabilen çok sayıda kullanıma hazır modül geliştirmek için Açık Kaynak'tan yararlandı.
PHP sunucu modülleri Apache ve Unix sunucularında uygulanır, ancak PHP CGI'lar aracılığıyla diğer platformlarda uygulanabilir.
Sözdizimi C tabanından görece basittir .
Önemli Çerçeveler: Symfony , Laravel
PythonDjango : Python'da bir sunucu tarafı uygulama oluşturmak ve dağıtmak için yaygın olarak kullanılan açık kaynaklı çerçeve .
YakutRuby on : Yaygın bina ve bir sunucu tarafı uygulaması dağıtmak için açık kaynak çerçevesini kullanılan Ruby .
JavaÖzellikle Wt veya CppCMS gibi çerçevelerle C ++ 'da bir "sunucu tarafı" web sitesi geliştirmek mümkündür.
Microsoft TeknolojileriColdFusion , Macromedia tarafından geliştirilmiş dinamik bir sayfa oluşturma teknolojisidir . Uygulama sayfaları, özel bir dil olan CFML ( ColdFusion Markup Language ) kullanılarak yazılmış programlama talimatlarını içeren web sayfalarıdır . CFML, sözdizimi HTML'ninkilere benzeyen, ancak sunucu tarafından yorumlanan etiketlere dayalı basit bir dildir.
Bu dillerin her biri, içeriği ve verileri kullanıcıların kullanımına veya diğer harici parametrelere göre dinamik olarak yapılandırılan sayfalar oluşturmayı mümkün kılmak için bir veya daha fazla veritabanını çağırabilir .
Birçok tür vardır: dBase, filePro, Firebird / InterBase, FrontBase, IBM DB2, Cloudscape, Informix, Ingres, EDBC, Enterprise Access, Mssql, MySQL , PostgreSQL , SQLite, SQLite3, SQLSRV, Sybase.
Ajax ( Eşzamansız JavaScript ve XML ), avantajları ve dezavantajları ile birkaç öğeyi birleştiren bir teknolojidir:
Bu teknoloji, bir istemciden web sunucusuna bir asenkron HTTP isteği (paralel olarak) gerçekleştirmeyi (bir eylem gerçekleştirme, güncelleme bilgileri, vb.) Mümkün kılar . Sunucu, HTML sayfasını güncellemek için bilgi veya kod içerebilen istenen kaynağı döndürür.