Jump to content
×
×
  • Create New...

Lorem Ipsum is simply dummy text

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

Test Test

Lorem Ipsum is simply dummy text

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

Test Test

Lorem Ipsum is simply dummy text

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

Test Test

Lorem Ipsum is simply dummy text

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

Test Test

Lorem Ipsum is simply dummy text

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

Test Test

  • Profil Reklam Alanı

myakn55

Moderators
  • Posts

    14
  • Joined

  • Last visited

  • Feedback

    0%

About myakn55

monthly_2023_04/4.jpg.e183d2eea91ad24485cf6d7221c57c18.jpg
  • User Group: Moderators


  • Rank: Apprentice


  • Content Count: 14


  • Content Post Ratio: 0.02


  • Reputation: 0


  • Achievement Points: 141


  • Number Of The Days Won: 0


  • Joined: 04/24/2022


  • Been With Us For: 814 Days


  • Birthday: 03/02/1995 (29)


  • Last Activity:

About myakn55

  • Birthday 03/02/1995

Personal Information

  • About Me
    <p>
    Yazılım Geliştiricisi 
    </p>

Recent Profile Visitors

115 profile views

myakn55's Achievements

Apprentice

Apprentice (3/14)

  • Conversation Starter

Recent Badges

0

Reputation

  1. React Native ile tanışıklığım olsa da hiçbir zaman samimi değildik. Ta ki React ile geliştirdiğimiz bir projenin aynı zaman da mobil ayağının da olacağını öğrenene kadar. Uygulamanın bu dönüşümünün hem hızlı olması gerekiyordu, hem de bir o kadar performanslı. iOS için Swift, Android için ise Java ile gerçekten native olan bir uygulama yazılabilirdi. Ama hem çok vakit alacak, hem de maliyetli olacaktı. React ile hikayesi olan bir ekibin, React ile yazılmış bir projenin mobile dönüşümü için kullanacağı teknolojiyi seçmekte o kadar da zorlanmadığını tahmin etmelisiniz. Çokta uzun sürmeyen bir araştırma sonucu React Native’de karar kılındı. Google arama motorunun, kendimi şanslı hissediyorum butonunu biliyor olmalısınız. Bunu YouTube’a uyarladım ve YouTube Türkiye’de ki en popüler videolar arasında rastgele bir seçim yapıp, bunu kullanıcıya yansıtan basit bir uygulama yaptım. React native’e çevireceğimiz bu uygulama’ya buradan ulaşabilirsiniz. Geliştirici Ortamını Hazırlanması Ben macOS üzerinde geliştirme yaptığım için ortam kurulumunun aşamaları macOS kullanıcıları içindir. Diğer işletim sistemleri için React Native dökümantasyonuna bakabilirsiniz. Öncelikle Node, Watchman, React Native command line interface ve Xcode yüklü olması gerekiyor, eğer değilse aşağıda ki adımları takip ederek yükleyebilirsiniz. Xcode’u App Store’dan indiriyoruz. Xcode’u açtıktan sonra Preferences > Locations > Command Line Tools menüsünden en güncel versiyonun seçili olduğundan emin olun. Xcode > Preferences > Components sekmesinden en güncel (tercihen) iOS simülator sürümünü yükleyin. macOS için yazılmış paket yönetim sistemi olan Homebrew’i kullanarak Watchman ve Node’u yükleyebilirsiniz. brew install nodebrew install watchman 5. macOS’de varsayılan olarak Ruby yüklü geliyor. Ruby paket yönetim sistemi olan Gem’i kullanarak cocoapods’u yükleyebilirsiniz. sudo gem install cocoapods 6. React Native command line interface’i global olarak yüklemektense npx kullanarak runtime’da erişebilirsiniz. npx react-native <komut> Uygulama Oluşturma Bir uygulamayı yazmaya başlamadan önce mutlaka konfigürasyonların yapılması gerekiyor. Babel, Webpack ve ES6, JSX gibi söz dizimi desteklerinin sağlanması için bir ton konfigürasyon yapıyoruz ve bunlar tekrar eden şeyler. Hemen hemen her uygulama bunlara sahip olmak zorunda. İşte o yüzden React ekibi create-react-app adında bir araç çıkarttı. Bu araç bizim yerimize tüm bu angarya işleri hallediyor ve hızlıca uygulama geliştirmeye başlayabiliyorsunuz. Create-react-app’in React Native’de ki karşılığı react-native. Bu aracı kullanarak genel konfigürasyonların sağlandığı bir uygulamayı ekranlarınızda görebilirsiniz. Aşağıda ki komutu kullanarak rnRandom adında yeni bir uygulama oluşturalım. npx react-native init rnRandom Uygulamayı direkt olarak Xcode üzerinden çalıştırabilirsiniz ya da terminal üzerinden de yapabilirsiniz. İkisinin de örnekleri aşağıda mevcut. Xcode rnRandom uygulamasının ana dizinine gidip, ios klasörü içerisinde ki rnRandom.xcodeproj dosyasını çalıştırıyoruz. Sonrasında build etmeniz yeterli. Terminal Uygulamanın ana dizininde aşağıda ki komutu çalıştırmanız yeterli. npx react-native run-ios Her iki adımın sonunda simülator bu çıktıyı verecektir Farklılıklar React ve React Native temelde aynı prensiplere sırtını yaslasa da birbirinden oldukça farklı yönleride bulunuyor. Aşağıda ki ekran görüntüleri uygulamanın Video component’in de ki oluşan değişiklikleri yansıtıyor. ReactJS, Video component React Native, Video component Style React Native’de style için CSS kullanmıyoruz. Onun yerine StyleSheet nesnesi oluşturuyoruz ve style özelliklerini bu nesne de tanımlıyoruz. Syntax CSS’e bir hayli benziyor dolayısıyla burda işimiz oldukça kolay. Ne yazık ki normal CSS’de bulacağınız bir çok style, burda mevcut değil. Route React Native’de tıpkı React gibi varsayılan olarak route işlemlerini yapabileceğiniz bir yapı sunmuyor. Ek kütüphaneler ile bu yapıları dahil edebiliyoruz. Component Web’de kullandığınız <p>, <div> gibi DOM elemanlarının hiçbirini React Native’de kullanamıyorsunuz. Onun yerine <View>, <Text> gibi React Native’e özgü component’leri kullanmak zorundasınız. Runtime React Native 2 farklı thread’de çalışıyor. Ana thread UI render etmekle ve kullanıcı jestleri ile ilgilenirken, JavaScript thread’i ise UI yapısı ve uygulamanın bussiness logic tarafıyla ilgileniyor. Sonuç React Native her ne kadar ReactJS ile aynı temellere dayansa da prensipte çok farklı ayrılıklara sahipler. ReactJS ile geliştirdiğiniz projenin React Native’e göre bir çok nokta da tekrardan yazılması gerektiğini unutmamak gerekiyor. Native bir uygulama yerine React Native ile tüm platformlara çıkartmak gibi gayeniz olabilir ama burda bile platformlara özgü componentler olduğunu her birisi için ayrı konfigürasyon yapmanız gerektiğini söylemem gerek. Tarayıcı API’ları üzerinden tek bir kod tabanı ile her platforma aynı ürünü çıkartmak hala birer hayal olarak kalıyor maalesef. O zamana kadar en iyi seçeneklerden birinin React Native olduğunu düşünüyorum.
  2. Bir web uygulama geliştirmek için bir sürü işi beraber yapmak gerekir. Aynı fonksiyonları farklı projeler için yeniden yeniden oluşturmanız gerekir, buda ciddi bir iş yükü oluşturur. Yazılım Frameworkleri bu sorunu çözmek için oluşturulmuş ideal çözümlerdir. Özellikle web teknolojileri alanında doğru altyapıları kullanmak büyük önem taşımaktadır. Bu yazımızda projeleriniz için en uygun PHP Framework’ü seçebilmeniz için yardımcı olacağız. Her bir frameworkün eksilerini ve artılarını detaylıca inceleyeceğiz. Eğer PHP konusunda yeni iseniz PHP Nedir, Ne İçin Kullanılır? başlıklı yazımızı okumanızı öneriyoruz. Framework Nedir? Framework, yazılım geliştirme dünyasında çeşitli ana fonksiyonları içerisinde sunan dosyalar kütüphanesidir. Bir frameworkün oluşturulma amacı yazılım geliştirme süreçlerinde işleri kolaylaştırmak ve hızlandırmaktır. Daha basit anlatmak gerekirse yeni bir yemek yapmak istediğinizi düşünelim. Yemeği yapmak için gerekli olan besin maddelerini dışardan almanız gerekir. Ancak yemek yapmak ve yemek için çatal, kaşık, bıçak yada kesme tahtası gibi araçlar mutfakta devamlı bulunması gereken araçlardır. Frameworkte bu şekilde yazılım geliştirmek için gerekli araçları içerisinde bulunduran bir yapıdır. Eğer bir PHP uygulaması geliştirmek istiyorsunuz size kullanışlı araçlar sunan bir framework kullanmak iyi bir başlangıç olacaktır. Ancak bir çok PHP framework bulunmaktır, bu yazımızda sizlere en çok kullanılan frameworklar hakkında bilgiler vereceğiz. JavaScript frameworkler hakkında daha detaylı bilgi almak için En İyi 9 JavaScript Framework isimli yazımızı inceleyebilirsiniz. Neden Framework Kullanmak Gerekir? Framework kullanmak bir çok faydayı beraberinde getirir ve bir çok süreci hızlandırır. Framework geliştirme sürecini hızlandırır. Kodlama sürecine disiplin kazandırır. Yazılan kodların yeniden kullanılabilmesine, üzerinde kolaylıkla düzenlemeler yapabilmeyi sağlar. Daha temiz kodlar üretmeye yardımcı olur. Sunduğu performans araçları ile daha performanslı uygulamalar geliştirmeye katkı sağlar. Veritabanı soyutlama katmanları ile daha kolay yazılım geliştirme imkanı verir. MVC altyapısı sayesinde tasarım ve kodlama yapılarını mantıklı bir şekilde ayrıştırma imkanı sağlar. Yardımcı uygulamalar ve kütüphaneler ile uygulamanıza katkılar sağlar. Kullanıcı toplulukları ve detaylı dökümantasyonlar sayesinde aranan desteğe kolaylıkla erişim sağlar. Uygulama güvenliği ile ilgili katkı sağlar. En güncel teknolojileri kullanımınıza sunar. Test ve Debug özellikleri sayesinde daha doğru kodlar yazmaya katkı sağlar. 1. LARAVEL Tarihçe Laravel, 2011 yılında Taylor Otwell tarafından yaratıldı, o zamandan beri bu framework çok geliştirdi ve en son web teknolojileri ile uyumlu hale getirdi. Hakkında PHP Framework denildiğinde akla gelen ilk isimlerden birisi Laravel’dir. Bu framework anlaşılması kolay syntax yapısı ile tanınmaktadır. Lavarel ile projelerinizi çok hızlı şekilde geliştirebilirsiniz. Bu framework sayesinde arka planda çok zaman harcadığınız oturum yönetimi, caching, ve kullanıcı doğrulama gibi yöntemleri kolayca halledebilirsiniz. Performans olarak başarılı bir frameworktür. Laravel sayesinde uygulamalarınıza eklentiler ekleyerek uygulamalarınızı kolayca genişletebilirsiniz. Laravel aynı zamanda diğer teknolojiler ile kolayca entegre olabilmektedir. Örneğin Amazon Web Services (AWS) teknolojilerini kullanarak üst düzey uygulamalar geliştirebilirsiniz. Laravel Drupal yada Wordpress gibi CMS değildir. Laravel tüm uygulamanız üzerinde kontrolü size sağlayan bir platformdur. Laravel, MySQL, Postgres, SQLite ve SQL Server veritabanlarını destekler. Veritabanına bir query göndermek için saf SQL, query builder yada Eloquent ORM aracı kullanılabilir. Laravel kullanılarak yapılmış 5 popüler web sitesi aşağıdaki gibidir. Startups.co Fox47 Camping World Global Dietary Database Explore Georgia Önemli Özellikler Kolay anlaşılır syntax yapısı ile keyifli bir kullanım sunar. Eklenti desteği ile uygulamalarınızı kolayca genişletebilirsiniz. Yönlendirme, kullanıcı yönetimi, caching ve daha bir çok alanda hazır fonksiyonlar sunar. 3.parti uygulamalar (Amazon WS v.b.) ile entegrasyon desteği sunar. Arka planda asekron görevler çalıştırabilmesi ile performansa katkı sağlar. Aktif bir topluluğa sahiptir. Aranan desteğe kolayca erişim sağlayabilirsiniz. Komut satırı uygulaması (Artisan) ile bir çok faydalı komuta erişebilirsiniz. Otomatik test özelliği sayesinde test yükünü azaltır. Gelişmiş bir template engine sunar. Ücretsiz ve açık kaynak kodludur. Laravel hakkında daha detaylı bilgi almak için Laravel Framework Nedir? isimli yazımızı inceleyebilirsiniz. Web Sitesi https://laravel.com/ 2. CODEIGNITER Tarihçe CodeIgniter, 2001 yılında EllisLab tarafından oluşturulmuştur. Kurucuları Rick Ellis ve Derek Jones'dur. Şu anda British Columbia Teknoloji Enstitüsü'nün bir projesidir. Hakkında CodeIgniter, MVC (Model View Controller) desteği sunan bir frameworktür. Çeşitli geliştirme görevlerini halletmek için farklı komponentler kullanılır. Bu özellik geliştiriciler arasında çok beğeniliyor, çünkü çok az yer kaplayan, geniş ölçekli projeleri kolaylıkla geliştirebiliyorsunuz. Eğer PHP frameworkleri konusunda yeni başlıyor iseniz CodeIgniter harika bir seçim olabilir. Öğrenmesi ve uygulanması oldukça kolaydır. Ayrıca platform oldukça başarılı bir dökümantasyon desteği sağlamaktadır. Laravel aynı zamanda sunucuları çok yormayacak hafif uygulamalar geliştirmesine yardımcı olur. CodeIgniter, PHP 5.1.6 ve üzerini destekler. Bir çok web uygulaması için veritabanı kullanımı gereklidir. MySQL (4.1+), MySQLi, MS SQL, Postgres, Oracle, SQLite, ve ODBC desteklenmektedir. Codeigniter kullanılarak yapılmış 5 popüler web sitesi aşağıdaki gibidir. Casio Computers Feedcump The Mail & Guardian Buffer Nissan Önemli Özellikler Performansı yüksek uygulamalar geliştirebilme imkanı sunar. Kaynak kod çok az alan kaplar. Yaklaşım 2MB bir alana ihtiyacı vardır. Kolayca öğrenilebilir, harika bir dökümantasyon desteği sağlar. MVC tabanlı esnek uygulamalar geliştirebilmeyi sağlar. Temiz URL’ler oluşturur. Kolay genişleyebilir bir yapısı vardır. MVC mimarisini kullanır. Bir tema dili öğrenmek zorunda bırakmaz. Güvenlik bakımından güçlüdür. Ücretsizdir. CodeIgniter hakkında daha detaylı bilgi almak için CodeIgniter Nedir? - Bilmek İstediğiniz Her Şey isimli yazımızı inceleyebilirsiniz. Web Sitesi https://www.codeigniter.com/ 3. SYMFONY Tarihçe 18 Ekim 2005'te ücretsiz yazılım olarak yayınlandı ve MIT lisansı altında paylaşılmıştır. Symfony Fabien Potencier tarafından Sensio firmasında geliştirilmiştir. Sensio web alanında yazılım geliştirme yapan tanınmış ajanslardan birisidir. Hakkında Symfony, ticari olarak desteklenen birkaç frameworkten biridir. Şirket yaratıcısı ve sponsor SensioLabs, itibarına aktif olarak katkıda bulunmaktadır. SensioLabs resmi eğitimler ve sertifikalar sağlar. Şirket web sitesinde, tüm dünyada yapılacak konferansların bir programını bulabilirsiniz. Bu davranışlar, niyetlerinin ve inançlarının ölçeğini ve ciddiyetini gösterir. Eğer en iyi PHP framework hangisi diye sorulursa Symfony, Laravel ve CodeIgniter ile ilk üç isim arasında yer alır. Adından çokca söz ettiren popüler bir frameworktur. Symfony çok esnek bir altyapı sağlar. Sağladığı bundle ve komponent sistemi ile kolaylıkla istediğiniz PHP fonksiyonuna erişebilirsiniz. Uygulamanızın istediğiniz gibi çalıştırıp çalışmadığını test edebilmeniz için framework içerisinde hazır test özellikleri yer alır. Symfony öğrenilmesi çok kolay bir frameworktür. Symfony, veritabanlarıyla çalışmak için en iyi PHP kütüphanesi olan Doctrine sayesinde uygulamalarınızda veritabanlarını kullanmanız için gereken tüm araçları sağlar. Bu araçlar MySQL ve PostgreSQL gibi ilişkisel veritabanlarını ve MongoDB gibi NoSQL veritabanlarını destekler. PhpBB, Drupal, Magento ve eZ Publish gibi birçok önemli platform Symfony bileşenlerini kullanıyor. Kendi sitelerinde Symfony'e güvenen aşağıdaki şirketleri tanıyoruz. Symfony kullanılarak yapılmış 5 popüler web sitesi aşağıdaki gibidir. National Geographic TED Bla Bla Car Vogue eMAG Önemli Özellikler Özel komponentler geliştirebileceğiniz hayli esnek bir platformdur. Hazır test fonksiyonları sayesinde yazılım geliştirme sürecine katkı sağlar. Çok iyi döküman edilmiştir ve öğrenmesi kolaydır. Modüler bir yapı sunar. Sadece ihtiyacınız olan fonksiyonları kullanabilirsiniz. Projelerde kullanabilmek için gelişmiş bir komut işleme aracı (CLI) sunar. Gelişmiş bir önbellek (cache) sistemi sunar. Geniş bir topluluk tarafından kullanılır. Symfony hakkında daha detaylı bilgi almak için Symfony Framework Nedir? isimli yazımızı inceleyebilirsiniz. Web Sitesi https://symfony.com/ 4. ZEND Tarihçe Zend Technologies, Technion'un diğer İsrail mezunlarıyla birlikte İsrail teknoloji enstitüsü ile Rasmus Lerdorf tarafından kurulduktan sonra PHP'yi geliştiren Andi Gutmans ve Zeev Suraski tarafından oluşturulmuştur. Zend ismi Suraski ve Gutmans'ın ön adları Zeev ve Andi'nin birleşimidir. Hakkında Komponent tabanlı bir yapıya sahiptir. Zend nesneye yönelik, MVC tabanlı bir frameworktür. Bu özellik sayesinde sadece ihtiyacınız olan komponentleri yükleyip kullanabilirsiniz. Diğer bir şekilde ifade etmek gerekir ise Zend sadece kullanmak istediğiniz fonksiyonlara ve komponentlere odaklanmanızı sağlar. Nesneye yönelik yapısı sayesinde oluşturduğunuz kodları sonraki projelerinizde kolaylıkla kullanabilirsiniz. Zend aynı zamanda diğer platformlar ile de kolaylıkla entegre olabilir, harici kütüphane desteği sayesinde projelerinizi rahatlıkla genişletebilirsiniz. ZEND framework Mysqli, Pgsql, Sqlsrv, Pdo_Mysql, Pdo_Sqlite ve Pdo_Pgsql gibi veritabanlarını destekler. Önemli Özellikler Program geliştirmek için çok esnek bir platform sağlar. Nesneye yönelik programlama desteği ve MVC mimari desteği sunar. Bir kere oluşturduğunuz kodu sonraki projelerinizde kullanabilirsiniz. Harici kütüphaneler ile kolaylıkla entegre olabilir. Sadece ihtiyacınız olan özellikleri kullanabilmenize olanak sağlar. HTML5 geliştirmeye uygundur. Geniş bir topluluk tarafından kullanılır. Buda aranılan desteğe kolay şekilde erişebilmek anlamına geliyor. Büyük veri ile ilgili projelerde Zend doğru çözüm olacaktır. Eğer nesneye yönelik kodlamayı seviyor iseniz Zend size en uygun framework olabilir. Zend kullanılarak yapılmış 5 popüler web sitesi aşağıdaki gibidir. supermarket.am drako.it disneyparks.disney.go.com infinitelooper.com intuit.ru Zend framework hakkında daha detaylı bilgi almak için Zend Framework Nedir? isimli yazımızı inceleyebilirsiniz. Web Sitesi https://framework.zend.com/ 5. PHALCON Tarihçe Phalcon, Andrés Gutiérrez ve PHP tarafından yazılmış geleneksel web uygulama framworklerine yeni bir yaklaşım arayanlar tarafından oluşturulmuştur. 2011 yılında frameworkün orijinal taslağına "Spark" adı verildi, daha sonra adı "PHP" ve "falcon" kelimelerini temsil eden Phalcon olarak değiştirilmiştir. Hakkında Phalcon diğer frameworkler ile karşılaştırıldığında değişik bir frameworktür. C programlama dili ile yazılmıştır. Bu size garip gelebilir ama bu özelliği sayesinde frameworkler arasında en hızlısıdır. Diğer frameworklere göre saniyede en çok HTTP isteğine yanıt verebilen altyapıdır. Phalcon misyonunu; “Misyonumuz, geliştiricilere düşük sunucu tüketimi ve yüksek performans ile güçlü uygulamalar geliştirmek için kullanabilecekleri gelişmiş, zengin özelliklere sahip bir araç sunmaktır.” şeklinde tanımlıyor. Performans olarak incelemek gerekirse en zirvelerde yer alır. Kaynak bakımından çok hafiftir ve MVC mimarisini kullanır. Framworkü kurduğunuzda neredeyse hiç bir dosya oluşturmaz. Siz ihtiyacınız olan modül ve kütüphaleri ihtiyacınız dahilinde projenize dahil edebilirsiniz. Phalcon framework Mysql, Postgresql ve Sqlite gibi popüler veritabanlarını destekler. Phalcon kullanılarak yapılmış 5 popüler web sitesi aşağıdaki gibidir. Learny Online DescontoCupom Marchi Auto Socialveo Outsmart Önemli Özellikler C ile yazılmış bir PHP framework’tür. Performans olarak çok başarılıdır. Çok az sistem kaynağı tüketir. Sadece ihtiyacınız olan modül ve kütüphaneleri kullanabilirsiniz. Temiz ve iyi tasarlanmış bir dökümantasyon desteği sunar. Template engine bulundurur. Object-Relational Mapping (ORM) desteği sunar. Phalcon hakkında daha detaylı bilgi almak için Phalcon Framework Nedir? isimli yazımızı inceleyebilirsiniz. Web Sitesi https://phalconphp.com/en/ 6. CAKEPHP Tarihçe CakePHP, Nisan 2005'te Polonyalı bir programcı Michal Tatarynowicz, PHP'de hızlı bir uygulama geliştirme frameworkünün minimal bir sürümünü yazarak Kek olarak adlandırdığı zaman başladı. Framework MIT lisansı altında yayınladı ve çevrimiçi geliştiriciler topluluğuna açtı. Hakkında CakePHP, 2020 yılında tanıtılan ilk PHP MVC framework’tür. O zamanda büyük bir devrim yaratan bu framework halen en iyi frameworkler arasında gösterilmektedir. CakePHP, projeye büyük değer katan aktif bir geliştirici ekibine ve topluluğa sahiptir. Sizi tekerleği yeniden keşfetmekten korumanın yanı sıra, CakePHP kullanmak uygulamanızın çekirdeğinin iyi test edildiği ve sürekli iyileştirildiği anlamına gelir. CakePHP’nin yeni versiyonları yıllar içerisinde ciddi şekilde geliştirildi, bir çok kullanışlı komponent framework içerisine dahil edildi. CakePHP yapısı gereği hızlıca kod geliştirmenize olanak sağlayan bir platformdur. CakePHP MySQL 5.5+, SQLite 3., PostgreSQL 8.3+, SQLServer 2008+, Oracle veritabanlarını destekler. CakePHP framework kullanılarak yapılmış 5 popüler web sitesi aşağıdaki gibidir. mapme.com educationunlimited.com eliteperformanceandfitness.com followmy.tv mygasfeed.com Önemli Özellikler Çok geniş bir komponent seti sunar. Hızlı projeler geliştirmenize yardımcı olur. Sağladığı güvenlik araçları ile uygulamalarınızı güvenli hale getirir. Esnek lisanslama seçenekleri sunar. Aktif ve dost canlısı bir form sunar. PHP 5.2.8 ve üstü sürümleri destekler. Esnek önbellek (cache) yetenekleri sunar. Web Sitesi https://cakephp.org/ 7. YII Tarihçe Yii, PRADO framework üzerinde algılanan dezavantajlarını düzeltmek için bir girişim olarak başlamıştır. Karmaşık sayfaların yavaş kullanımı, dik öğrenme eğrisi ve birçok kontrolü özelleştirme zorluğu giderilmiştir. Ekim 2006'da, on aylık geliştirmeden sonra, Yii'nin ilk alfa versiyonu piyasaya sürülmüş ve ardından Aralık 2008'de resmi 1.00 sürümü çıkmıştır. İlk versiyon Qiang Xue tarafından duyurulmuştur. Hakkında Yii diğer güçlü frameworklerden birisidir. En önemli özelliklerden birisi çok kolay şekilde kurulabilmesidir. Phalcon gibi performans konusunda çok başarılı bir frameworktür. Web geliştirme için popüler PHP frameworklerden biri olmayabilir, kesinlikle en umut verici açık kaynak web uygulaması geliştirme çerçevelerinden biridir. Diğer başarılı frameworkler gibi Yii hızlı şekilde kod geliştirebilmeniz için bir çok güvenlik komponenti içerisinde barındırır. Yii 2.0 MySQL, MariaDB, SQLite, PostgreSQL, CUBRID, Oracle ve MSSQL veritabanlarını destekler. Yii framework kullanılarak yapılmış 5 popüler web sitesi aşağıdaki gibidir. stay.com realself.com vice.com zurmo.com noisey.com Önemli Özellikler Çok hızlı ve performanslıdır. Açık kaynak YII, şüphesiz, Web2.0 uygulamaları (büyük ölçekli) oluşturmak için en hızlı frameworktür. Kurulumu çok yalın ve kolaydır. İhtiyacınız olan modülleri kolayca kurup kullanabilirsiniz. Güvenli web siteleri ve web uygulamaları geliştirmesine olanak sağlar. Yii'nin MVC mimarisi, PHP web geliştiricilerinin teknik olarak akıllı bir web uygulaması hazırlamalarına yardımcı olur. Yii uygulamanız için en yüksek düzeyde güvenlik sağlamak için bir dizi güvenlik özelliği sağlar. Framework, harici kütüphane kodlarıyla sorunsuz bir şekilde çalışabilme özelliği ile öne çıkmaktadır. Web geliştiricileri ayrıca temiz, zarif önbellek desteğine ve bileşen tabanlı mimariye hayran kalmaktadır. Yii, ilişkisel ve NoSQL veritabanları için ActiveRecord sunar. YII framework, basit kod yapısı sayesinde özelleştirilmesi veya kontrol edilmesi son derece kolaydır. Yii'nin diğer programlama frameworklerinin çoğuna göre sahip olduğu bir diğer önemli avantaj, büyük topluluk desteğidir. Web Sitesi https://www.yiiframework.com/ 8. FUEPHP Tarihçe Framework 2010'un sonlarında Dan Horrigan tarafından başlatıldı ve kısa bir süre sonra ekibe Phil Sturgeon, Jelmer Schreuder, Harro Verton ve Frank de Jonge'yi de katıldı. Hakkında FuelPHP PHP tabanlı nispeten yeni bir web uygulaması çerçevesidir. PHP çerçevelerinin çoğu gibi, FuelPHP de açık kaynaklı bir çerçevedir. FuelPHP'nin gelişimi 2010'un sonuna doğru başladı ve ilk sürüm 30 Temmuz 2011'de piyasaya sürüldü. Bunun ardından birkaç güncellenmiş sürüm çıktı ve mevcut sürüm PHP 7 ile uyumlu FuelPHP 1.8'dir. FuePHP MySQL, MySQLi ve PDO veritabanlarını destekler. FuePHP framework kullanılarak yapılmış 5 popüler web sitesi aşağıdaki gibidir. bushidotickets.com aotak.me brevardzoo.org teleportz.com.ar carswellgould.co.uk Önemli Özellikler HMVC desteği sunar. FuelPHP, "Yağ" adlı bir yardımcı program aracılığıyla komut satırının gücünü kullanır. Yardımcı program, geliştirmeyi hızlandırmaya, verimliliği, test, hata ayıklamayı ve HTML desteğini artırmaya yardımcı olmak için tasarlanmıştır. Güvenli bir geliştirme ortamı sağlar. FuelPHP tamamen nesne yönelimli bir yaklaşımdır. Mimarisi modülerlik fikrine dayanmaktadır. Uygulamalar modüllere ayrılabilir ve her bileşen tek bir kod satırı yeniden yazılmadan genişletilebilir veya değiştirilebilir. FuelPHP, görünümleri ayrıştırmak için Smarty, Twig, PHPTal vb. destekler Kullanışlı bir komut satırı (CLI) özelliği sunar. FuelPHP topluluğu 300'den fazla katılımcıyla geniş ve aktiftir. Geniş topluluğu düzenli olarak paketler ve uzantılar oluşturur ve geliştirir. FuelPHP frameworkün temel amacı esneklik ve uyumluluk sağlamaktır. Web uygulamaları geliştirmek için hızlı, öğrenmesi kolay ve eksiksiz bir çözümdür. PHP 5.4 ve üzeri sürümleri destekler. FuelPHP'yi PHP geliştiricileri tarafından kullanılan en önemli frameworklerden biri yapan şey şudur: - FuelPHP'nin yeni sürümü, kararlı API'sı nedeniyle eski sürümleriyle ters uyumludur. Son derece esnektir. Paketler ve modüller mevcut bir kodu sistematik bir şekilde yeniden kullanmayı kolaylaştırır. FuelPHP küçük bir kütüphane aracılığıyla maksimum performans sunar. Etkileşimli hata ayıklama, geliştirme hatalarını kolayca ortadan kaldırmaya izin verir. Ayrıca, temiz ve kararlı kodu programlamayı kolaylaştırır. Döküman desteği başarılıdır. Web Sitesi https://fuelphp.com/ Sonuç Olarak Kullanabileceğiniz bir çok programlama dili bulunmaktadır, ancak sunucu tarafında çalışacak programlama dilleri arasında PHP en popüler olanlarından birisidir. Ne kadar iyi PHP geliştirici olursanız olun, daha hızlı ve güvenli bir proje geliştirmek için size en uygun olan frameworkü kullanmak önemlidir. Sizce en iyi framework hangisidir? Görüşlerinizi makale altındaki yorum kısmından paylaşabilirsiniz.
  3. AngularJS, büyük ilgi uyandıran özelliklere sahip, sadece geliştiriciler için değil, dizayn cılar için de yapılmış, harika bir JavaScript framework' üdür. Bu makalede, en çok başı çeken özelliklerin ve bu özelliklerin bir sonraki mükemmel web uygulamanızı nasıl kolaylaştıracağı üzerinde duracağız. AngularJs' in güzelliği Bu makalede, "büyük resim" i algılayabilmeniz için, AngularJS' in en önemli birkaç konseptinin üzerinde duracağız. Önemli olan şu ki, bahsi geçen özellikleri gördükten sonra, AngularJS ile eğlenerek birşeyler yapmak için yeterince heyecanlanmış olacaksınız. Özelik 1: Çift taraflı Veri-Bağlamak Veri-Bağlamak, AngularJS' in muhtemelen en çekici ve kullanışlı özelliği. Bu sizi hatırı sayılır ölçüde başlangıç kodu yazma zahmetinden kurtaracaktır. Tipik web uygulamalarının 80% e kadarı, DOM' da seçim yapma, manipülasyonlar vasıtasıyla düzenleme yapma ve dinleme işlemleri yapan baz kodlar ile doludur. Veri-Bağlama özelliği, bu kodu ortadan kaldırır ve sizin sadece uygulamanıza fokuslanmanızı sağlar. Yukarıda da bahsettiğimiz üzere, model sizin için uygulamanızda güvenilirliğin tek kaynağı. Her türlü okuma ve güncelleme yapılacak yerde, model i kullanıyorsunuz. data-binding direktif' i, modelinizin, uygulamanızın görüntüsüne yansımasını sağlar. Bu yansıma gözden uzak ve hiçbir efor sarfetmenize gerek kalmadan gerçekleşir. Alışılagelmiş yapıda, model adını verdiğimiz uygulama değişkenleri her değişiklik gösterdiği an, geliştirici bu değişikliklerin elle, DOM elementlerine ve niteliklerine aksettirilmesinden sorumludur. Bu çift taraflı gidilen bir yoldur. Bir yanda model, DOM elementlerinin değişimini sürdürür. Diğer bir yanda ise, DOM elementlerindeki değişiklikler, modelin yeni değerini belirler. Bu, kullanıcının etkileşimidir. Bu etkileşimde geliştiricinin sorumluluğu, etkileşimlerin sonuçlarını model' de tutmak ve uygulamanın görüntüsünde yapılacak güncellemeleri sağlamaktır. Bu çok fazla elle yapılan ve külfetli bir işlemdir. Uygulama büyüdükçe ve daha kompleks hale geldikçe, kontrolü zorlaşan bir hal almaktadır. Mutlaka daha iyi bir yol olmalı! AngularJS' in çift taraflı veri-bağlama özelliği, DOM' dan model'e ve tam tersine, aralarındaki senkronizasyonu ele alır İşte çok basit bir örnek ile, bir input' un değerinin h1 elementine nasıl bağlandığını deneyimliyoruz. 01 02 03 04 05 06 07 08 09 10 11 12 13 14 <!doctype html> <html ng-app> <head> <script src="https://code.angularjs.org/angular-1.0.0rc10.min.js"></script> </head> <body> <div> <label>Name:</label> <input type="text" ng-model="yourName" placeholder="Enter a name here"> <hr> <h1>Hello, {{yourName}}!</h1> </div> </body> </html> Bu son derece uygulanabilirliği basit ve herşeyin sihirli bir şekilde gerçekleşmesidir. Özellik 2: Şablonlar AngularJS' de bir şablon sadece düz klasik HTML' dir. HTML kelime haznesi, Model' in görüntüye aksettirilmesini kapsamak amaçlı büyütülmüştür. HTML şablonları tarayıcı tarafından DOM' un içine oturtulmuştur. DOM, AngularJS compiler için veri giriş alanı olmuştur. AngularJS direktif olarak adlandırılan, DOM şablonlarının uygulanması için seçim işlemi yapar. Direktifler, uygulamanızın görüntüsü için veri-bağlama işlemini kurmanın sorumluluğunu alırlar. Önemli olan nokta, AngularJS' in şablonlar üzerinde yaptığı manipülasyonu string olarak gerçekleştirmemesidir. AngularJS' e veri girişi DOM üzerindendir ve kesinlikle HTML string değildir. Veri-bağlamalar DOM transformasyonlarıdır, string tarzında değişiklikler yapılmaz, yada alışılagelmiş innerHTML değişikliği uygulanmaz. DOM' u veri girişi için kullanmak, AngularJS' in diğer frameworklerden en büyük farkıdır. DOM' u kullanmak, direktifleri geliştirmeyi ve kendi direktiflerinizi oluşturmanıza imkan tanır, ayrıca tekrar kullanılabilen komponentlerde de kullanabilirsiniz. En büyük avantajlarından biri de, tasarımcılar ve geliştiriciler arasında, sıkı bir iş akışı sağlayabilmesidir. Tasarımcılar, geliştiricilerin yazdığı direktifleri, teknik bilgi gereksinime ihtiyaç duymadan rahatça kullanabilirler. Tasarımcılar, normal akışında HTML yazarlar, geliştiriciler ise işe fonksiyonellik katarlar, çok az bir efor sarfederek veri-bağlamayı gerçekleştirirler. Aşağıdaki örnekte, ng-repeat direktifini kullanarak, images dizisini img şablonunda döndürüyorum. function AlbumCtrl($scope) { scope.images = [ {"thumbnail":"img/image_01.png", "description":"Image 01 description"}, {"thumbnail":"img/image_02.png", "description":"Image 02 description"}, {"thumbnail":"img/image_03.png", "description":"Image 03 description"}, {"thumbnail":"img/image_04.png", "description":"Image 04 description"}, {"thumbnail":"img/image_05.png", "description":"Image 05 description"} ]; } 1 2 3 4 5 6 7 <div ng-controller="AlbumCtrl"> <ul> <li ng-repeat="image in images"> <img ng-src="{{image.thumbnail}}" alt="{{image.description}}"> </li> </ul> </div> Ayrıca şunun notu düşülmelidir ki, AngularJS size yeni bir sözdizimi öğrenmeniz konusunda zorlamaz yada şablonlarınızı uygulamanızdan çıkarmanızı gerektirmez. Özellik 3: MVC AngularJS, orjinal MVC tasarım deseninin temel prensiplerini, istemci taraflı web uygulamalarda kullanabilmenizi sağlar. MVC yada Model-View-Controller tasarım deseni, bambaşka insanlara bambaşka anlamlar ifade eder. AngularJS, MVC yapısını geleneksel şekilde içermez. Daha çok MVVM (Model-Görüntü-GörüntüModel) yapısına daha yakındır. Model Model' i basitçe özetlersek, uygulamanızdaki veridir. Model tamamen Javascript' in klasik obje tipidir. Kesinlikle, framework' ün class larından miras almasına gerek yoktur. Erişim için klasik getter ve setter metodlarını kullanabilirsiniz. Ayrıca vekil objeler ile de sarmalayabilirsiniz. Doğal javascript yazımı ile ilerlemek en hoş özelliğidir. Görüntü Model GörüntüModel, özelleştirilmiş veri ve metodları, özelleştirilmiş görüntülerde işleyebilmemizi sağlar. GörüntüModel, AngularJS uygulamasındaki $scope un içinde yaşayan bir objedir. $scope basit bir javascript objesidir. Dizayn edilmiş ufak bir API vasıtası ile, değişiklikleri, dahil olduğu yapıda farkeder ve bildirimde bulunur. Controller Controller, bağlı olduğu yapıyı kurmaya ve $scope taki metodların kontrolüyle ilgilenmekten sorumludurç Controller adına dikkat edilmesi gereken şey, Controller bir yapı depolamaz ve uzak servisler ile etkileşime girmez. View (Görüntü) View yani görüntü kelimesinden kasıt, AngularJS' in HTML' i ele alıp compile ettikten sonra, veri bağlamak için hazır hale getirdiği şeklidir. Bu ayrım ile uygulamanızın mimarisinde solid bir çözüm elde edersiniz. $scope veri ile bağlantılı bir referans a sahiptir. View, layout' u ele alır ve tüm etkileşimleri controller' a anında aktarır. Özellik 4: Dependency Injection AngularJS dahili olarak, geliştiricinin uygulamasını kolaylıkla geliştirmesini, anlamasını ve test etmesini sağlayan dependency injection sistemine sahiptir. Dependency Injection (DI) size bağımlılıklarınızı sorgulamanız konusunda yardımcı olur. Aksi taktirde bu işlemleri kendiniz yapmanız gerekmektedir. Şöyle düşünün; "Merhaba, ben şuna ihtiyaç duyuyorum" diyorsunuz ve DI ihtiyaç duyduğunuz şeyin yaratılması ve size sunulmasından sorumlu oluyor. Çekirdek AngularJS servislerine erişmek için çok basit bir şekilde parametre olarak eklemeniz yeterlidir. AngularJS ihtiyaçlarınızı farkedecek ve sizin için sağlayacaktır. function EditCtrl($scope, $location, $routeParams) { // Something clever here... } Ayrıca kendi servislerinizi yaratma ve bunları enjekte edilebilir hale getirme konusunda da özgürsünüz. angular. module('MyServiceModule', []). factory('notify', ['$window', function (win) { return function (msg) { win.alert(msg); }; }]); function myController(scope, notifyService) { scope.callNotify = function (msg) { notifyService(msg); }; } myController.$inject = ['$scope', 'notify']; Özellik 5: Directives (Direktifler) Benim AngularJS' teki favori özelliğim direktifler. Hiç tarayıcınızın sizin için yeni çözümler yapabileceğini hayal ettiniz mi? Güzel, çünkü artık yapabilir! Bu benim AngularJS' teki favori kısımlarımdan biri. Bu muhtemelen AngularJS' in en zor kısmı. Direktifler özelleştirilmiş HTML etiketleri yaratmanızda ve bunları widget olarak sunmanız için kullanılabilir. Bunlar ayrıca, elementleri davranışları ile birlikte "dekore" etmek için ve DOM niteliklerini ilginç bir yolla manipüle etmek için kullanılabilir. Aşağıdaki, bir olayı dinleyen ve sonucunda $scope unu güncelleyen bir direktif örneği bulunmaktadır. myModule.directive('myComponent', function(mySharedService) { return { restrict: 'E', controller: function($scope, $attrs, mySharedService) { $scope.$on('handleBroadcast', function() { $scope.message = 'Directive: ' + mySharedService.message; }); }, replace: true, template: '<input>' }; }); Bu özelleştirilmiş direktif' i şu şekilde kullanabilirsiniz. <my-component ng-model="message"></my-component> Uygulamalarınızı, komponentlerin soyutlandığı bir kompozisyon şeklinde yapmanız, ihtiyaç duyduğunuzda daha kolay ekleme, güncelleme ve silme yapmanıza imkan tanıyacaktır. Bonus Özellik: Testing AngularJS ekibinin üzerinde ağırlıkla durduğu düşünce; JavaScript' te yazılan kodun sıkı bir test setinden geçmeye ihtiyaç duyduğudur. AngularJS ekibi, AngularJS' i test edilebilir şekilde dizayn etti, bu sayede AngularJS uygulamalarınızı mümkün olduğunca kolay test edebilirsiniz. Bu sebeple, uygulamamanız için bir neden bulunmuyor. Javascript, compile edilmek yerine dinamik ve yorumlanmıştır, Bu durum geliştiriciler için disiplinli bir zihniyet ile test yazmaya adapte eder. AngularJS tamamen test edilebilir şekilde yazılmıştır. Uçtan uça ve unit test in çalışabileceği şekilde kurulmuştur. Eğer ki bunu aksiyon halinde görmek isterseniz, https://github.com/angular/angular-seed adresindeki angular-seed (angular-çekirdek) projesini inceleyebilirsiniz. AngularJS çekirdek projesine sahip olduğunuzda, projenin üzerinde testleri çalıştırmak çocuk oyuncağıdır. Aşağıdan sonucu inceleyebilirsiniz. API dökümanı, uçtan uça testlerin, framework' ün ilgili kısımlarında harika bir şekilde uygulanışlarıyla doludur. Bir süre sonra kendimi, işlerin nasıl yürüdüğünü gördüğüm testlere girmiş şekilde buldum, ve belki dökümanın devamını okumak, bu işi kapmayı sağlayacaktır. Sonuç olarak AngularJS' in 6 adet çok sevdiğim özelliğini inceledik. İnanıyorum ki, bu 6 özellik AngularJS' in büyütebileceğiniz yada çalıştırabileceğiniz esas özellikler değil fakat, uygulamanızı bakım yapılabilir ve genişletebilir bir yola sokacaktır. AngularJS' in web sitesi http://angularjs.org, çalışan bolca örnek ve harika dökümanlara sahip.
  4. Yazılım dünyasında yeni bir teknoloji öğrenirken geliştiricinin ilk görmek istediği şey teknolojiye yukarıdan bir bakış atmaktır. Bu nedenle ilgili teknolojiye giriş ve genel bir bakış eğitim materyalleri önemlidir. Bu makalemde bir süredir üzerine video eğitimleri ve makaleler oluşturduğum Go programlama diline genel bir bakış yapmaya çalışacağız. Bu genel bakış sırasında pek kod görmeyeceksiniz. Sadece teorik olarak inceleyip, size bu dilin ne olduğunu, hangi amaçla kullanılabileceğini, nerelerde tercih edilmemesi gerektiği aktarıp, çeşitli kaynak ve önerilerde bulunacağım. Go Nedir ve Neden Geliştirilmiştir? Google gibi bir teknoloji ve yazılım devinin kendi iç sistemlerinde yıllardır kullandığı C, C++, Java, Python vb. bir çok farklı programlama dili ve teknolojinin farklı farklı avantaj ve dezavantajları var. Bunları küçük ya da az yük altındaki projelerde fark edemeyebilirsiniz, ancak büyük projelerde mutlaka kendini hissettirir. Bunlar performans, derleme(büyük projelerde kaynak kodun derlenmesi saatler sürebilir), güvenlik, uyumluluk, zaman yönetimi, kaynak(donanım, para, enerji vb.) yönetimi gibi bir çok başlıkta sıralanabilir. Ve tabi ki yüzlerce geliştiriciniz varsa ilgili etki alanı için yeni bir uzman alımı yaparken bilmesi veya öğrenmesi gereken bir çok teknolojiyi de beraberinde getirir. Yani sorun hem teknik hem de mentaldir. Google bunlar gibi bir çok sorununu çözmek için yıllardır hem iç sistemleri için işletim sistemi hem de bir çok teknoloji ve algoritma üretmektedir. Go programlama dili de bunlardan biridir. Go programlama dili Google tarafından kendi sorunlarını çözmek için başlatılmıştır. Bu nedenle Go’ya eklenen ya da eklenmeyen tüm özellikler tamamen yılların “büyük projelerdeki yazılım tecrübeleri” ile belirlenmiş ve alınmış kararlardır. Mesela Go’yu biraz incelediğinizde “Go’da neden jenerikler(generics) yok?” gibi bir soru aklınıza gelebilir ki bunu soran ilk kişi değilsiniz. Buna Go geliştirici ekibinin verdiği yanıt ise özetle şöyle; “Jenerikler performanslı-hızlı değil, henüz bu şartlarda bir çözüm bulamadık, bulduğumuzda ekleriz”. Go ile ilgili bakış açısı bu kadar net aslında. Amaç, az dil özelliği ve kuralıyla esnek, hızlı, performanslı ve güçlü bir dil oluşturmaktır! Go tamamen açık kaynaklı bir dildir. Yani Go kaynak kodunu satır satır inceleyebilirsiniz. Ve Google içerisinde Go’yu geliştirmekle sorumlu ekip bu dile kendileri katkı yaptığı gibi piyasada bu teknoloji kullanan bazı teknoloji devlerinin de dil hakkındaki görüş ve önerileri doğrultusunda çeşitli ek yetenekler üzerinde çalışmaya devam ediyorlar. Tabi ki bizim gibi sıradan geliştiricilerin de görüşlerini geliştirici toplulukları üzerinden takip ediyorlar. Go dili Ken Thompson, Rob Pike, Robert Griesiemer tarafından 2007 tarihinde geliştirilmeye başlandı. İlk sürümünü yayınlamak için epey bir süre geliştirme ve iç sistemlerde testler yapıldı ve kullanılabilir ilk sürüm 10 Kasım 2009’da, ilk kararlı sürüm 1.0 versiyonu(1.0 versiyonu yazılımda olgunlaşmış ilk sürüm olarak kabul edilir) ise 28 Mart 2012’de Go 1.0 olarak yayınlanmıştır. Go dili söz dizimini öğrenmek basittir. Ancak programlama gücünü C/C++ ile yarışacak kadar ispatlamıştır. Bu performans testleriyle ilgili bir çok kıyas(benchmark) makalesi yayınlanmaktadır. Go’nun “C gibi güçlü” hedefiyle geliştirilmeye başlanmasına karşın, web tarafında da hızla gelişmiş ve bir çok Framework çalışmasıyla şuan küresel çapta ciddi diyebileceğimiz bir çok proje tarafından tercih edilmektedir(Docker, Koding, Google vb.). Aynı zamanda basit ama güçlüdür ve ancak web yeniliklerine uyumlu olarak geliştirilmiştir. Mesela bir paketi ister lokal olarak oluşturup kod sayfanıza ekleyin, isterseniz de github.com gibi bir versiyon sistemi üzerinden doğrudan kod sayfanıza import kısmında linkini ekleyerek(tabi ‘go get’ ile lokal ortama kurulumu yapıldıktan sonra) kullanabilirsiniz. Go dili geliştirici ekibinin temel prensiplerinden biri de “bir işi yapmanın en iyi yolunu bulursan farklı yöntemlere gerek yoktur” üzerine kuruludur. Bu nedenle farklı dillerde bir iş için bile her geliştiricinin farklı yöntemler kullanması olasıyken, Go dilinde o bir iş için genellikle bir yol vardır. Ancak o bir yolun performansı için belki binlerce profesyonel geliştiricinin geri bildirimleri alınmıştır. Go tek bir dosyaya derlenir. Bu da tek bir binary dosyası üzerinde taşıma ve yönetim gerçekleştirebileceğiniz anlamına gelir ki, Java ve C# gibi dillerde taşıma-kopyalama işlemleri ciddi sorunlar ve vakit kayıplarına neden olabilir. Go dilinde söz dizimi anlaşılır ve basittir. Go dili 25 adet keyword içerir. C(37 keyword), C++(84 keyword), C#, Java, Rust gibi bir çok dilde çok daha fazla keyword vardır. Go uygulamanızın içerisinde C, Python gibi farklı dilleri doğrudan kodunuzu yazarak çalıştırabilirsiniz. (Örn; cgo) Go dili kendi içinde gömülü olarak concurrency(eş zamanlılık) destekler. Ve bunu yüksek performanslı olarak gerçekleştirir. Alt seviye işlem yapmanıza gerek duymayacak şekilde thread mantığını da kendisi mimari olarak yönetir. Siz sadece farklı farklı goroutines’ler oluşturarak alt katmanda tek bir thread üzerinde yüzlerce-binlerce goroutines’ler uygulamanızı eş zamanlı hale getirebilirsiniz. Go dili söz dizimi kurallarına çok önem verir ve dikkat eder! Yazılım dünyasındaki farklı söz dizimi alışkanlıklarından kaynaklı bir çok sorunu da böylelikle çözer. Örneğin import ile projenize bir paket dahil edip uygulama içerisinde o paketin referanslarını kullanmazsanız derleme aşamasında hata verecektir. Aynı şey basit bir değişken için bile geçerlidir. Değişkeni tanımladıysanız kullanmak zorundasınız, aksi halde Go derleme hatası verecektir. Bu konu ileri yazılım ve performans ile hafıza yönetimine doğrudan etkisi olan bir konudur. Hatta öyle ki, bir metodun scope’unu belirleyen süslü parantelerinin açılış kısmının tanımın altında mı yoksa metod imzasının yanında mı olduğuna bile dikkat eder. Tabi bu söz dizimi kurallarını yönetmek için de bir aracı vardır; ‘go fmt’ Doğru; func add(x int, y int) int { return x + y } Yanlış; func add(x int, y int) int { return x + y } Go Programlama Dili Hangi Amaçla Kullanılabilir? Go dili sistem programlama odağıyla geliştirilmiştir. Yani sunucu ve alt sistemler yazmak için ideal bir çözüm olarak düşünülebilir. Ancak bunun yanında web için de hem hızlı geliştirme hem de yüksek performansıyla kaliteli projeler üretmenizi sağlayabilir. Aynı zamanda native olarak henüz tam uyumlu kullanılabilir olmasa da Google, Android işletim sistemi üzerinde Go kullanılabilmesi için bir mobil proje yürütmektedir. Go’nun github sayfası üzerinden mobil çalışma kaynaklarına ulaşabilir, internetten Go ile geliştirilen Android uygulama örneklerine inceleyebilirsiniz. Go dili gömülü sistemler için de kullanılabilmektedir. Ancak genel olarak bu alan için henüz yeterli görülmemektedir. Gene ancak, Go’nun bu alanda da bir başarı hedeflediğini ve zamanla gömülü sistemler için de kendini genişleteceğini söyleyen otoriteler mevcuttur. Kaldı ki, gömülü(embedded) sistemler için C mi, C++ mı gibi bir soru bile C/C++ geliştiricileri arasında yıllardır tartışılan bir konudur. Go programlamayla ilgili örnek embedded ve benzeri IoT ortam frameworkleri; EMBD: http://embd.kidoman.io/ Gobot: https://gobot.io/ Robotic ve IoT Go Programlama Dilinin Hangi Amaçla Kullanılması Tavsiye Edilmez? Python ve Ruby gibi bir betik dili değildir. Yani Python’un yerini alması düşüncesi yerine Go’nun C ve Python gibi farklı alanlarda güçlü olan dillerle birlikte çalışabilmesi hedeflenmektedir. Hemen yukarıda belirttiğim gibi gömülü sistemler için henüz yeterli değildir. Bu alanda C’nin gücü devam etmektedir. Ancak Go ile C iç içe kullanıldığında harika gömülü alt sistem uygulamaları geliştirilebilir. Go Programlama Dili Kullanıcıları Go dili yakın bir tarihte geliştirilmiş olsa da büyük projeler için ciddi tercih edilen bir teknoloji haline gelmesi uzun sürmedi. Bu girişim ve firmalardan bazıları şunlardır; Docker, Koding, Google, Apple, Twitter, Amazon, Github, Ubuntu, Dropbox, Facebook vb. Daha geniş bir kullanıcı listesine ulaşmak için; https://github.com/golang/go/wiki/GoUsers Go Programlama Geliştirme Araç ve Ortamları Go dili genel olarak açık kaynak kültüründe olduğu gibi bir çok araç ve geliştirme ortamı sunmaktadır. Bunlar şöyledir; Araçlar; Go tool: Go dilinin en temel aracıdır. Go uygulamanızın derleme esnasındaki işlemleri konsol üzerinden parametrik olarak yönetmenizi sağlar. Godoc: Kod içerisinde, örneğin bir metod üzerinde yazdığınız açıklama satırına göre bir belgelendirme-dökümantasyon üretmeyi sağlar. godoc.org sitesi üzerinden de github ya da dilin gömülü özelliklerinin dökümanlarına online olarak ulaşmak mümkündür. Örn; http://godoc.org/fmt#Println Gofmt: Go dili söz dizimi kurallarını(bazıları katıdır) yöneten bir orkestra şefidir. Go kodu söz dizimi standartlarını uygular. Yaygın Kullanılan Framework ve Araç Setleri Beego (Web) Gin (Web) Gorilla Toolkit (Web) Revel (Web) Martini (Web) GORM (ORM) Gobot (Robotik ve IoT) Not : Bu saydığım araç ve Framework’ler genel olarak kendi kullanmış olduğum ya da gözlemlediğim araçlardır. Ancak daha fazlası için Awesome Go‘yu ziyaret edebilirsiniz.
  5. İlk olarak Python nedir ? sorumuzu yanıtlayarak başlayacak olursak, Python son dönemin en popüler programlama dillerinden biridir. Guido Van Rossum adlı Hollandalı bir yazılımcı tarafından Amsterdam da geliştirilen Python, çoğu yazılımcıya göre, büyük çaplı bir kütüphaneye sahip olduğundan, yılanların en büyüğü olan piton dan esinlenildiği sanılmaktadır. Ancak işin doğrusu böyle değildir. Dilin yazılımını yapan Guido, dilin adını 1969 – 1974 yılları arasında The Monty Python isimli komedi grubunun Monty Python’s Flying Circus adlı gösterisinden esinlenerek seçmiştir. Python Ne İşe Yarar? Nerelerde Kullanılır? En güçlü ve en dinamik programlama dillerinden biri olan Python, rakiplerine nazaran birçok alanda başarılı programlar yapmamızı sağlar. Python’ un sahip olduğu bu özellikler ve bu özelliklere dair detaylar yazımızın devamında belirttik. Basit bir yapısının olması ve tanımlanmış söz diziminin olması dolayısı ile Python öğrenilmesi en basit dillerden biridir. Okunması da oldukça basit olan Python, bu özelliği diğer programlama dillerine kıyasla öne çıkıyor. Bu özelliklerin yanı sıra kaynak kodu bakımından da oldukça kolay olan Python bu özelliği ile de ön planda. Python çapraz platform uyumu sayesinde Windows, UNIX, Macintosh gibi sistemlerle aynı anda çalışılabilir ve kolayca taşınabilir. Ayrıca programlama dilinin birçok donanım platformlarında kullanılabileceğini söylemek de mümkündür. Python’ un taşınabilir bir yapıda olduğunu önceki maddemizde belirtmiştik. Bunun en büyük sonucu bütün platformlarda aynı arabirime sahip olunduğunun bilinmesidir. Python geniş bir kütüphaneye sahip olması onu rakiplerinden ayıran önemli bir özelliktir. Bunu yanı sıra Python genişletilebilir. Ayrıca yorumlayıcıya alt düzey modüller eklenebilir. Bu eklenebilir modüllerin yazılımcılara bu dili daha etkin ve daha performanslı kullanma imkânı verdiği de atlanamaz bir gerçektir. Python’ un önemli özelliklerinden bir tanesi de ticari veri tabanlarıyla bağlantı kurabilmesidir. Python kendi içinde bir mod’a sahiptir ki bu mod hata ayıklama özelliğine izin verir ve bu bağlamda rakiplerine göre önde olduğunu söyleyebiliriz. Farklı dillerde de bulunabilen bu mod yazılımcılar arasında İnteraktif mod diye isimlendirilir. Kabuk script yerine, Python’ un büyük programlar için çok daha iyi bir yapı ve destek sağladığını söylemek mümkündür. Bu duruma istinaden Python’ un ölçeklendirilebilir bir yapıda olduğunu söylemek mümkündür. Python’ un kaynak kodunun kolay olduğu gibi, bahsi geçen kodun bakımının gerçekleştirilmesi de oldukça kolaydır. Python programlama dili yorumlayıcı (interpreter) bir dildir. Bu özelliği sayesinde kodların toplamaya ihtiyaç duyulmadan hızlı bir şekilde program yapmak mümkündür. C ve C++ gibi dillerin aksine böyle bir özelliğinin olması Python için büyük avantaj sağlamaktadır. Her ne kadar kolay ve anlaşılır bir dil olsa da daha önce herhangi bir dil öğrenmemiş kişiler için Python’ un anlama hızının neredeyse okuma hızına denk olacağı da göz ardı edilmemelidir. Python’ un arındırılmış olan söz dizimi sayesinde Python, yazılmış olunan bir programı okumak veya doğrudan bir program yazmak için diğer dillere kıyasla oldukça kullanışlıdır. Buna ek, söz dizimi sadece girintilere bağlı olarak kaldığı için, uygulamayı geliştiren kişilerin ekstra zaman kaybı durumu ortadan kalkmaktadır. Python Dilinin Kullanım Alanları Nelerdir? Python yorumlamalı, nesne yönetimli etkileşimli ve yüksek seviyeli bir programlama dili olması sebebi ile bilim ve özellikle teknoloji alanında önemli bir yeri olduğu inkâr edilemez bir gerçektir. Buna ek olarak Python programlama dilinin kullanım alanı aşağıda sizler için derledik. Bilim ve teknoloji ile ilgili olan bilgi sanayisinde, Uluslararası alanlarda, Askeri savunma alanlarında, Hacking network sistemleri üzerinde, Web üzerindeki çoğu işlevde, Oyun sektöründe, Kısacası bilgisayar ile ilgili her alanda Python programlama dilini kullanmak mümkündür. Bu programlama dilinin 1991 yılında piyasaya sürülmüş olması ise, ne denli köklü olduğunun bir göstergesidir. Yazımızda Python nedir? Ne işe yarar? Nerelerde kullanılır? gibi soruları cevaplandırmaya çalıştık.
  6. İnternete bağlı olsun, olmasın pek çok dijital cihazda karşımıza çıkan Java hem bir programlama dili hem bir bilgi işlem platformu hem de bir uygulama çalıştırma yazılımıdır. Bugünün dünyasını olduğu gibi geleceğin dünyasını da şekillendireceği düşünülen Java nedir gelin tüm detaylarıyla inceleyelim. Bir yazılımcı ya da uygulama geliştiricisi olmasanız bile mutlaka Java nedir duymuşsunuzdur. Çünkü neredeyse kullandığımız tüm dijital cihazlarda, internete bağlı olsun ya da olmasın Java ile hazırlanmış uygulamalarla karşılaşıyoruz. Eğer bir yazılımcı ya da uygulama geliştiricisiyseniz zaten Java’ya hakim olmanız gerekiyor çünkü uzun zamandır uygulama geliştirmenin yolu Java’dan geçiyor. Java nedir sorusunun yanıtı biraz karmaşık çünkü Java hem bir programlama dili hem bir bilgi işlem platformu hem de son kullanıcının uygulama çalıştırmak için kullanabileceği bir yazılım. Yani bu açıdan bakarsak Java, geçmişte olduğu gibi bugün de dijital dünyamızı şekillendiriyor ve gelecekte de şekillendirecek gibi görünüyor. Gelin Java nedir, ne işe yarar gibi merak edilen soruların yanıtlarını tüm detaylarıyla inceleyelim. Java nedir? Sun Microsystems tarafından geliştirilmiş olan Java ilk kez 1995 yılında piyasaya sunuldu. Java; geniş kullanım alanına sahip, sınıf tabanlı, nesne yönelimli olarak tanımlanan bir programlama dilidir. Java aynı zamanda uygulama geliştirme ve çalıştırma çalışmaları yapılan bir bilgi işlem platformudur. Java ayrıca son kullanıcının ücretsiz olarak indirerek kullanabileceği bir uygulama çalıştırma yazılımıdır. Java, uzun yıllardır kullanılan bir programlama dili olduğu için yıllar içinde pek çok farklı güncelleme aldı ve farklı sürümleri yayınlandı. Son olarak 2020 yılının Eylül ayında Java SE 15 sürümü yayınlandı. Kullanıcıların uygulama çalıştırmak amacıyla indirecekleri yazılım ise Java 8 sürümüdür. Kullanıcıların uygulama çalıştırmak için kullanacakları Java yazılımı Java Runtime Environment kısaca JRE olarak adlandırılırken, uygulama geliştiricilerin kullandığı bilgi işlem platformu Java Virtual Machine kısaca JRM olarak adlandırılmaktadır. Uygulama geliştiricilerin kullanabileceği bir de Java Development Kit kısaca JDK aracı vardır. Buradaki bağlantı üzerindeki Java resmi internet sitesine girerek tüm bu hizmetlere ulaşabilirsiniz. Java ne işe yarar? Java ile uygulama geliştirebilir, bu uygulamayı test edebilir ve kullanıcının bu uygulamayı kullanabileceği altyapıyı sunabilirsiniz. Bu noktada Java ne işe yarar değil de Java ile neler yapılır diye sormak çok daha makul olacaktır. Java ile yapabileceklerinizden bazıları şu şekilde; Android işletim sistemine sahip cihazlar için uygulama geliştirebilirsiniz. Java dilinde kurumsal yazılımlar oluşturabilirsiniz. Mobil Java uygulamaları geliştirebilirsiniz. Hesaplama uygulaması geliştirebilirsiniz. Büyük veri analizleri yapabilirsiniz. Donanımların cihaz uyumluluğunu Java üzerinden programlayabilirsiniz. Apache, JBoss, GlassFish gibi teknolojilerde kullanabilirsiniz. JDK ile Java uygulama başlatıcısını kullanabilirsiniz. JDK derleyicisi ile kodları bayt koduna dönüştürürsünüz. JDK Java uygulama başlatıcısı ile sınıf yükleme yaparsınız. JRE ile tüm Java uygulamalarını çalıştırırsınız. JRE ile tüm kitaplıkları ve paket sınıflarını kullanırsınız. Java’nın öne çıkan avantajları: En kolay öğrenebileceğiniz programlama dillerinden bir tanesidir. Java kodu ile yazılan taban, neredeyse tüm bilgi işlem platformlarında çalışır. Java ile yazılan kod tabanları platformlardan bağımsız olduğu için bir makinede yazılan uygulama farklı makinelerde de çalışır. Nesne odaklı uygulama geliştirmeleri için idealdir. Otomatik bellek yönetimine sahip olduğu için birden fazla işlemi kolaylıkla yapar. İnternet ortamı için idealdir. Ağ merkezli dağıtılan bilgi işlemi kolaylaştırmaktadır. Java programlama dilini ve diğer Java hizmetlerini kullanmanın öne çıkan avantajlarından bazıları bu şekilde. Elbette kullanıcıya ve uygulamanın geliştirileceği platforma göre bu listeye farklı avantajlar eklenebilir ya da avantaj olarak görülen özellikler dezavantaja dönüşebilir. Ancak yine de avantajların her zaman baskın geldiğini söylemek mümkün. Java platform türleri ve özellikleri: Java Standard Edition Java Enterprise Edition Java Micro Edition Java FX Java Standard Edition: Java programlama dilinin temel işlevlerini sunan Java Standard Edition, kısaca Java SE; bütün türleri ve nesneleri en üst düzey sınıflar için tanımlar. Ağ oluştururken, güvenlik amacıyla, veritabanı erişimi için, grafik kullanıcı birimi GUI oluştururken ve XML ayrıştırırken kullanabilirsiniz. Java Enterprise Edition: Daha üst düzey bir hizmet veren Java Enterprise Edition, kısaca Java EE; yüksek düzeyde ölçeklendirilebilen, daha büyük ölçekli, çok katmanlı ve güvenli ağ uygulamaları geliştirmek amacıyla kullanılır. Java EE ile geliştirilen uygulamalar daha güvenilirdir ve daha geniş çalışma zamanı ortamı sunar. Java Micro Edition: Java ME kısaltması ile anılan Java Micro Edition akıllı telefon ve tablet gibi küçük cihazlarda Java programlama dili ile geliştirilmiş uygulamaları çalıştırır. Java Micro Edition, kullanıcılarına çok daha az yer kaplayan bir sanal makine sunar. Java FX: Java FX, kullanıcılarına çok daha basit bir arayüz üzerinden zengin internet tabanlı uygulamalar geliştirme imkanı sunan bir platformdur. Standart Java’dan farklı olarak daha yüksek performanslı istemcilere ve ağ bağlantılı veri kaynaklarına bağlanan API’lardan yararlanmanıza yardımcı olan grafik ve medya motorları kullanır. Günümüzün internet ve dijital dünyasını şekillendirerek geleceğin dünyasını da şekillendireceğinin işaretini veren Java nedir, ne işe yarar gibi merak edilen konuları yanıtladık ve Java sistemi hakkında bilmeniz gereken detaylardan bahsettik.
  7. ASP NET Nedir? ASP.NET, Microsoft tarafından oluşturulan, Windows üzerinde çalışan ve 2000’lerin başında başlatılan açık kaynaklı, sunucu tarafı bir web uygulama çerçevesidir. ASP.NET, geliştiricilerin web uygulamaları, web hizmetleri ve dinamik içerik odaklı web siteleri oluşturmasına olanak tanır. Asp.Net Core Nedir? ASP.NET Core, Windows, MacOS ve Linux dahil olmak üzere her büyük bilgi işlem platformunda çalışan yeni bir ASP.NET sürümüdür. ASP.NET gibi, Microsoft tarafından oluşturulan açık kaynak kodludur ve geliştiricilerin web uygulamaları, web hizmetleri ve dinamik içerik odaklı web siteleri oluşturmalarına olanak tanır. İlk olarak 2016’da piyasaya sürülen ASP.NET Core nispeten yenidir, ancak zaten bir 2.0 sürümü almıştır ve şimdi Windows tarafından barındırılan ASP.NET web uygulamalarına kararlı bir alternatiftir. ASP.NET’i bilen geliştiriciler, mevcut C # bilgilerinden yararlanabilir ve ASP.NET Core’da sunulan çerçeve farklılıklarını hızlı bir şekilde anlayabilir. Neden Kullanmalıyım? Bir web sitesi veya uygulama geliştirirken ASP.NET kullanmak için pek çok iyi neden vardır. Yüksek hız, düşük maliyet ve geniş dil desteği en önemli faydalar arasındadır. ASP.NET, tanıdık Windows sunucu ortamında yerleşiktir ve ayrı olarak yüklenmesi ve yapılandırılması gereken diğer web geliştirme platformlarından daha az kurulum ve yapılandırma gerektirir. ASP.NET’in popülerliği, çevrimiçi kaynakları ve yetenekli geliştiricileri bulmayı kolaylaştırır. Örneğin, ASP.NET ile oluşturulan web siteleri ve uygulamalar, PHP ile bir web sitesi oluşturmadan daha hızlı ve daha verimli olabilir. ASP.NET uygulamaları derlenir, bu da kodun nesne koduna çevrildiği ve ardından çalıştırıldığı anlamına gelir. Bu derleme işlemi az bir zaman alır, ancak yalnızca bir kez gerçekleşir. Derlemeden sonra, kod .Net platformu tarafından çok hızlı bir şekilde defalarca çalıştırılabilir. Yorumlanan kod doğrudan makine tarafından yürütülmez, ancak çalıştırılmadan önce her seferinde okunması ve yorumlanması gerekir. Derlenmiş kod genellikle yorumlanmış koddan daha hızlı ve daha ölçeklenebilirdir ve yorumlanan kodun yapabileceği her şeyi yapabilir. Yorumlanan dillerin örnekleri arasında PHP, JavaScript ve Ruby bulunur. Derleme işlemi ayrıca tüm kodun tutarlı olduğunun doğrulanmasını sağlar. Örneğin, GetUser adlı bir yöntem bazı kod güncellemelerinin bir parçası olarak GetEmployee olarak yeniden adlandırılırsa, uygulamanın geri kalanı boyunca GetUser’a yapılan herhangi bir başvuru derleme sırasında bir hataya neden olur ve bu da tanımlanmasını ve düzeltilmesini kolaylaştırır. Yorumlanan diller, kod gerçekten çalıştırılıp test edilene kadar bu hatayı tanımlamaz. Büyük bir uygulamada, her senaryoyu manuel olarak test etmek veya kod her değiştirildiğinde her senaryoyu test eden ek kod yazmak ve sürdürmek çok zaman alır. Yazılım maliyeti, bir web sitesi geliştirirken önemli bir faktördür. Eskiden geliştiricilerin, uygulamalar oluşturmak için pahalı yazılımlar (Entegre Geliştirme Ortamları veya IDE’ler olarak adlandırılır) satın almaları gerekiyordu. Bugünlerde çoğu kod ücretsiz araçlar kullanılarak yazılabilir. ASP.NET kodu, basit bir metin düzenleyicisi, çeşitli ücretsiz programlama metin düzenleyicileri ve en yaygın olarak Microsoft'un kurumsal olmayan kullanım için ücretsiz bir Community Edition’da bulunan her yerde bulunan Visual Studio uygulaması kullanılarak yazılabilir. 5’ten fazla geliştiricisi olan şirketler, Visual Studio'yu kullanmak için bir lisans satın almalıdır, ancak maliyet diğer platformlar için profesyonel IDE’lerle rekabet edebilir. Microsoft ayrıca, şirketler dahil herkes için ücretsiz olan, daha hafif bir IDE ve düzenleyici olan Visual Studio Code sağlar. Bir IDE’ye ek olarak, web siteleri web uygulama sunucusu yazılımı ve bir barındırma sunucusu gerektirir. Çoğu ASP.NET uygulaması Microsoft IIS (İnternet Bilgi Sunucusu) kullanır. IIS, Microsoft Windows'un tüm sürümleri için ek ücret olmaksızın kullanılabilir. Windows barındırma sunucuları genellikle PHP, JavaScript ve Ruby uygulamalarını çalıştırmak için yaygın olarak kullanılan benzer Linux sunucularından daha pahalıdır. Ancak, 2016’da ASP.NET Core’un piyasaya sürülmesiyle, ASP.NET uygulamaları artık IIS’ye bağımlı değil ve artık Linux ve MacOS ile Windows'ta barındırılabiliyor. Bir web uygulaması geliştirirken ne tür bir veri tabanı kullanılacağı önemli bir karardır. ASP.NET uygulamaları Microsoft SQL Server, MySQL, MariaDB, Postgres, MongoDB ve CouchDB dahil olmak üzere tüm popüler veri tabanlarını kullanabilir. Microsoft SQL Server, karmaşık dağıtımlar için pahalı yazılım lisansları gerektirebilirken, ücretsiz Express sürümü web sitelerinin büyük çoğunluğu için uygundur. Burada bahsedilen diğer tüm veri tabanları ücretsiz ve açık kaynaklıdır. ASP.NET, C # veya VB.net gibi Nesne Tabanlı Programlama dilleri kullanılarak yazılmıştır. Nesneye Yönelik Programlama, kod organizasyonu ve yeniden kullanımı için bir çerçeve ve kalıplar sağlar. VB.net, Microsoft'un eski Visual Basic ürününden kalan ve geliştiriciler arasında büyük ölçüde gözden düşmüş olsa da C # birinci sınıf bir programlama dilidir ve sürekli olarak dünyanın en çok talep gören ve en çok kullanılan programlama dilleri arasında yer alır. Son olarak, ASP.NET açık kaynak kodlu ve kullanımı ücretsiz olmasına rağmen, dünyanın en büyük yazılım şirketi Microsoft tarafından aktif olarak geliştirilmekte ve desteklenmektedir. Microsoft, geliştirme platformlarına ve geliştirici topluluklarına büyük yatırım yapıyor ve bu uygulamaları çalıştırmak için kullanılan yazılım şirketlerini destekliyor. Bu, yazılımınızın yakın zamanda dünün haberi olması konusunda endişelenmenize gerek olmadığı anlamına gelir. Bir bütün olarak ASP.NET, web siteleri ve web uygulamaları geliştirirken kullanmak için harika bir çerçevedir. Güvenilir, hızlı, kullanımı kolay, ücretsiz ve yaygın olarak bilinir. ASP.NET, geliştirmeniz üzerinde tam denetim sağlar ve büyük veya küçük tüm projelerde kullanılabilir. Zaten ASP.NET kullanmıyorsanız, neden denemiyorsunuz?
  8. ActionScript, Flash'ta kullanılan kodlama dilidir. ActionScript kullanarak uygulamalarınızı doğrusal olmayan bir şekilde oynatabilir ve uygulamalarınıza zaman çizelgesinde temsil edilemeyen ilginç veya karmaşık işlevler ekleyebilirsiniz. ActionScript kodlama dili uygulamanıza karmaşık etkileşimler, oynatma kontrolü ve veri görüntüleri eklemenizi sağlar. Eylemler panelini, Komut Dosyası penceresini veya harici bir düzenleyiciyi kullanarak geliştirme ortamına ActionScript ekleyebilirsiniz. ActionScript kendi sözdizimi kurallarına, ayrılmış anahtar sözcüklerine uyar ve bilgi depolamak ve geri almak için değişkenleri kullanmanızı sağlar. ActionScript birçok faydalı görevi gerçekleştirmenizi sağlayan nesneler oluşturmanıza izin veren, yerleşik sınıflardan oluşan geniş bir kitaplık içerir. Kodlamaya başlamak için ActionScript öğelerinin tamamını bilmeniz gerekmez; belirli bir amacınız varsa, basit eylemleri kullanan komut dosyaları oluşturmaya başlayabilirsiniz. ActionScript ve JavaScript, köklerini ECMAScript kodlama dilinin uluslararası standardı olan ECMA-262 standardından alırlar. Bu nedenle, JavaScript'e aşina olan geliştiriciler ActionScript'e yabancılık çekmeyeceklerdir. ActionScript belgelerini kullanma ActionScript'in birden fazla sürümü olduğundan (2.0 ve 3.0) ve bu sürümleri FLA dosyalarınıza dahil etmenin birden çok yolu olduğundan, ActionScript'i öğrenmenin çeşitli farklı yolları vardır. Bu yardım sistemi ActionScript'le çalışmayı sağlayan grafik kullanıcı arabirimini açıklamaktadır. Bu arabirim Eylemler panelini, Komut Dosyası penceresini, Komut Dosyası Yardımcısı modunu, Çıktı panelini ve Derleyici Hataları panelini içermektedir. Bu konular ActionScript'in tüm sürümleri için geçerlidir. Adobe'nin diğer ActionScript belgeleri ActionScript sürümleri hakkında tek tek bilgi edinmenize yardımcı olacaktır. ActionScript sürümleri Flash, farklı türdeki geliştiricilerin ve oynatma donanımının ihtiyaçlarını karşılamak amacıyla birden fazla ActionScript sürümü içerir. - ActionScript 3.0 son derece hızlıdır. Bu sürüm, nesneye yönelik programlama kavramına diğer ActionScript sürümlerinden biraz daha fazla aşinalık gerektirir. ActionScript 3.0 ECMAScript tanımlamasıyla tamamen uyumludur, daha iyi XML işleme, iyileştirilmiş bir olay modeli ve ekrandaki öğelerle çalışmak için iyileştirilmiş bir mimari sunar. ActionScript 3.0 kullanan dosyalar ActionScript'in önceki sürümlerini içeremezler. - ActionScript 2.0'yi öğrenmek ActionScript 3.0'ü öğrenmekten daha kolaydır. Flash Player derlenmiş ActionScript 2.0 kodunu derlenmiş ActionScript 3.0 kodundan daha yavaş çalıştırsa da, daha tasarıma dayalı içerikler gibi ActionScript 2.0 hesaplama açısından yoğun olmayan birçok türde proje için kullanışlıdır. ActionScript 2.0 de ECMAScript tabanlıdır ancak tamamen uyumlu değildir. - ActionScript 1.0, ActionScript'in en basit halidir ve Flash Lite Player'ın bazı sürümleri tarafından hala kullanılmaktadır. ActionScript 1.0 ve 2.0, aynı FLA dosyası içinde bir arada bulunabilirler. - Flash Lite 2.x ActionScript, cep telefonları ve mobil cihazlarda çalışan Flash Lite 2,0.x tarafından desteklenen ActionScript 2'ın bir altkümesidir. - Flash Lite 1.x ActionScript, cep telefonları ve mobil cihazlarda çalışan Flash Lite 1.x tarafından desteklenen ActionScript 1.0'ın bir altkümesidir. ActionScript ile çalışma şekilleri ActionScript'le çalışmanın birkaç yolu vardır. - Komut Dosyası Yardımcısı modu ActionScript'i, kodu kendiniz yazmadan FLA dosyanıza eklemenizi sağlar. Siz eylemleri seçersiniz ve yazılım her eylem için gerekli olan parametreleri girmeniz amacıyla bir kullanıcı arabirimi sunar. Belirli görevleri yerine getirmek için hangi işlevlerin kullanılacağı hakkında biraz bilginiz olmalıdır ancak sözdizimi öğrenmenize gerek yoktur. Birçok programcı olmayan kişi ve tasarımcı bu modu kullanmaktadır. - Davranışlar kodu kendiniz yazmadan dosyanıza eklemenizi sağlar. Davranışlar ortak görevler için önceden yazılmış komut dosyalarıdır. Bir davranış ekleyebilir ve sonra onu Davranışlar panelinde kolayca konfigüre edebilirsiniz. Davranışlar sadece ActionScript 2.0 ve önceki sürümlerde bulunur. - Kendi ActionScript'inizi yazmak size belgeniz üzerinde fazlasıyla esneklik ve kontrol sağlar ancak ActionScript dili ve kurallarına aşina olmanız gerekir. - Bileşenler, karmaşık işlevleri uygulamanıza yardımcı olan önceden oluşturulmuş film klipleridir. Bir bileşen, onay kutusu gibi basit bir kullanıcı arabirimi kontrolü veya kaydırma bölmesi gibi karmaşık bir kontrol olabilir. Bir bileşenin işlevini ve görünümünü özelleştirebilir ve başka geliştiriciler tarafından oluşturulmuş bileşenleri indirebilirsiniz. Çoğu bileşen, bir bileşeni tetiklemek veya kontrol etmek için bir miktar ActionScript kodu yazmanızı gerektirir. ActionScript yazma Geliştirme ortamında ActionScript kodu yazarken, Eylemler panelini veya Komut Dosyası penceresini kullanırsınız. Eylemler paneli ve Komut Dosyası penceresinde, kod ipuçları ve kod renklendirme, kod biçimlendirme, sözdizimi vurgulama, sözdizimi denetimi, hata ayıklama, satır numaraları, metin sarma ve Unicode desteği içeren tam özellikli bir kod düzenleyicisi bulunmaktadır. - Flash belgenizin parçası olan komut dosyaları (yani, FLA dosyasına gömülü olan komut dosyaları) yazmak için Eylemler panelini kullanın. Eylemler paneli, temel ActionScript dil öğelerine hızlı erişiminizi sağlayan Eylemler araç kutusu ve komut dosyaları oluşturmak için gereken öğelerin size sorulduğu Komut Dosyası Yardımcısı modu gibi özellikler sunar. - Harici komut dosyaları (yani harici dosyaların içinde saklanan komutlar veya sınıflar) yazmak istiyorsanız, Komut Dosyası penceresini kullanın. (Harici bir AS dosyası oluşturmak için bir metin düzenleyicisi de kullanabilirsiniz.) Komut Dosyası penceresi kod ipuçları, kod renklendirme, sözdizimi denetimi ve otomatik formatlama gibi kod destek özellikleri içerir.
  9. Öğrenmek için yeni bir programlama dili mi arıyorsunuz? Veya sadece PHP’nin ne olduğunu merak ediyorsunuz? Sebep ne olursa olsun doğru yere geldiniz. Bizimle kalın ve PHP nedir ne işe yarar öğrenin. Programlama Dilleri PHP (PHP için sürekli tekrarlanan kısaltma: Hypertext Preprocessor – Üstünyazı Önişlemcisi) JavaScript ve Python gibi programlama dillerinin alt kümesidir. Aralarındaki fark ise PHP genellikle sunucu taraflı iletişim için kullanılırken JavaScript ise hem frontend ve backend için kullanılır. Python ise sadece istemci tarafı için kullanılmaktadır (backend). Kafanız mı karıştı? İşte bu yüzden PHP’de daha derinlere inmeden ilk önce programlama dillerini öğrenmemiz gerekiyor. Bir programlama dili görevlerin özel bir yürütme ortamında çalıştırılmasını otomatikleştiren bir dildir. Buna statik bir sayfaya (HTML ve CSS ile yapılmış) önceden tanımladığınız belirli eylemleri yapmasını söylemek de dahildir. Örneğin bir form sunucuya gitmeden önce bütün alanların doldurulduğundan emin olmanızı sağlamak için bir script kullanarak formu doğrulayabilirsiniz. Script, bir kullanıcı formu yolladığında çalışır ve bütün alanları kontrol eder. Eğer alanlardan biri boşsa kullanıcıyı bilgilendirmek için bir uyarı yazısı görüntülenir. Programlama dillerinin diğer yaygın kullanışlarıysa imleç ana menünün üzerine geldiğinde açılır bir liste ve rollover butonlar ve animasyon görüntülemek, iletişim kutusu açmak vb. Sunucu tarafı vs İstemci tarafı Programlama dilleri ya istemci tarafında (frontend), ya da sunucu tarafında (backend) çalışabilir. İstemci tarafındaki scriptler web tarayıcıları tarafından işlenir. Tarayıcınız, yani istemci istemci taraflı scriptleri içeren bir sayfa isterse, sunucu tarayıcı için çalıştırılabilir olan kaynak kodları yollayarak cevap verir. Öte yandan sunucu taraflı programlama dili scriptlerin tarayıcılara yollamadan önce sunucularda çalıştırıldığı anlamına gelir. Yani kaynak konu yollamadan önce web sunucuları kodları sade bir HTML formatına dönüştürmeden önce işler(çözümler). Bundan dolayı sunucu taraflı programlama web masterların kaynak kodlarını saklamalarına izin verirken istemci taraflı scriptler istemcinin kullanıcıları kolaylıkla görülebilir. Artık programlama dillerinin temelini anladığınıza göre PHP nedir adlı esas sorumuza geri dönebiliriz. Peki PHP nedir? Şimdi PHP nedir sorusunu cevaplayabiliriz. Daha önce de belirttiğimiz gibi PHP sunucu taraflı iletişimler için yaratılmış bir programlama dilidir. Bu nedenle form verisi toplamak, sunucuda dosya yönetmek, veritabanlarını düzenlemek vb. gibi çeşitli sunucu taraflı fonksiyonları yapabilir. Bu dil aslen Rasmus Lerdorf tarafından kişisel ana sayfasına gelen ziyaretçileri takip etmek için yaratılmıştır. Popülerliği arttıktan Lerdorf en sonunda PHP’yi açık kaynaklı bir proje olarak yayınlamıştır. Bu karar geliştiricilerin onu kullanmasına, düzeltmesine ve kodu geliştirmesine teşvik etmiştir. Böylece PHP en sonunda bugünlerde kullandığımız programlama diline dönüşmüştür. PHP her amaca uygun bir programlama dili olarak görülse de en yaygın olarak web geliştirme için kullanılmaktadır. Bu en harika özelliklerinden biri olan HTML dosyalarına yerleştirilebilmesi sayesindedir. Diyelim ki insanların kaynak kodunuzu görmesini istemiyorsunuz. Bu programlama diliyse bunu yapmak mümkündür. Kodu bir PHP dosyasına yazın, bir HTML dosyasına yerleştirin ve böylelikle kimse esas kodu göremeyecektir. Bu özelliğin bir başka yararı ise sıklıkla aynı HTML işaretlemesini kullanmanız gerektiğinde yeniden yazmak yerine kodu bir PHP dosyasına yazabiliyor olmanız. HTML’i her kullanmanız gerektiğinde PHP dosyasını yerleştirin. PHP sayfasının bir örneği ise Facebook’da görülebilir. Ana sayfasını açın ve URL’nin .php ile bittiğini göreceksiniz (facebook.com/home.php). Bir başka deyişle bu sayfa bir üstün yazı önişlemcisi kodu karışımı ve HTML etiketleri içeren bir PHP dosyasıyla (home.php) oluşturulmuştur. Eğer bir PHP dosyasının nasıl yazıldığını öğrenmek istiyorsanız aşağıda bir örnek bulabilirsiniz: <html> <head> <title>PHP Test</title> </head> <body> <?php echo '<p>WebLep\'dan Selamlar</p>'; ?> </body> </html> Eğer bu yazılmış PHP dosyasını sitenizin kök dizinine yerleştirirseniz dosyayı siteniz.com/selamlar.php bağlantısında bu dosyayı bulabilirsiniz. Bu PHP dosyasının sonucu HTML’de böyle gözükecektir: <html> <head> <title>PHP Test</title> </head> <body> <p>WebLep'dan Selamlar</p> </body> </html> Bu, scripti herhangi bir şekilde veya formda çalıştırmanız gerekmediğinden en basit örnektir. Bu örnekte echo ifadesini WebLep’dan Selamlar yazısını görüntülemesi için kullandık. Ancak bu örnekte sitenizin PHP kodunu HTML’e nasıl çevirdiğini gördünüz. Neden PHP’i Kullanmalısınız? PHP, mevcut olan tek sunucu taraflı programlama dili değildir. Bunlardan çok sayıda bulunmaktadır. Ancak bir WordPress siteniz varsa PHP, rakiplerinden bir adım öndedir. Daha önce de belirttiğimiz gibi WordPress PHP kullanılarak yazılmıştır. Yani bu dili kullanarak sitenizde sahip olabileceğiniz özelleştirmeyi ciddi biçimde artırabilirsiniz. PHP’yi eklentileri ve temaları düzenlemek için kullanabilir ve hatta kendi eklentinizi veya temanızı bile yapabilirsiniz! Eğer bir WordPress geliştiricisi olmak istiyorsanız PHP öğrenmeniz gerekmektedir. Eğer hala ikna olmadıysanız işte PHP’nin neden harika bir programlama dili olduğunu gösteren diğer sebepler: Öğrenmesi kolaydır — PHP, fonksiyonlarına dair bol örnekli harika kılavuzlara sahip olduğundan kolaylıkla öğrenebilirsiniz. Yaygın biçimde kullanılır — eTicaret siteleri, bloglar, sosyal medya vb. platformları oluşturmak için kullanılır. İstatistikler web sitelerin %79’unun PHP kullandığını göstermektedir! Düşük masraflıdır — açık kaynaklıdır, yani ücretsiz olarak kullanabilirsiniz. Büyük topluluk — eğer herhangi bir sorunla karşılaşırsanız İnternet’te birçok PHP blogu bulunduğundan kolaylıkla yardım bulabilirsiniz. Veritabanları ile entegre olabilir — bunların bazı örnekleri MySQL, Oracle, Sybase, DB2, vb. PHP vs JavaScript Daha önce de belirttiğimiz gibi PHP ile birçok şey yapabilirsiniz. Ancak PHP genellikle dinamik içerik oluşturmak için kullanılmaktadır. Eğer JavaScript’e aşinaysanız JavaScript’in ayrıca statik bir sayfanın daha dinamik ve interaktif için kullanıldığını da bilirsiniz. Bu nedenden dolayı PHP ve JavaScript birbirine benzer fonksiyonlara sahip olan iki adet programlama dilidir. Neden ikisine de ihtiyacımız var? Konu bir dinamik web sitesi kurmaya geldiğinde tamamiyle JavaScript ile çalışan bir tane kurmak mümkündür. Ancak fonksiyonellik değişebilir. JavaScript ile fare rollover efekti, otomatik doğrulama ve fotoğraf galerileri gibi basit etkileşimlere izin veren dinamik bir site yapabilirsiniz. Ancak sosyal ağlar ve eticaret (kullanıcı davranışına göre değişen web siteler) gibi kullanıcı katkılı içerikler yaratamaz. Bunu yapmak için PHP’ye ihtiyaç duyarsınız. Diyelim ki bir sosyal ağa giriş yapıyorsunuz. Profilinizi görüntülemek için PHP veritabanınızdan veri alır ve tarayıcınıza sonuç yollar. Profilinize her değişik yaptığınızda ilerideki veri alımları için PHP yeni bilgiyi depolayacaktır. Bütün bu işlem bir sosyal ağın farklı kullanıcılara farklı içerikleri görüntülemesine izin verir. Bu yüzden JavaScript ve PHP rakip değillerdir. Hatta birlikte güzel bir dinamik web sitesi yapmak için kullanılabilirler. Sonuç PHP çok amaçlı bir programlama dilidir. Ancak genellikle bir sitede dinamik içerik üretmek için kullanılır. Açık kaynaklı doğası ve çok yönlü fonksiyonelliği yüzünden yaygın biçimde kullanılmaktadır. Yeni başlayanlar için yeterince basittir ancak profesyonel programcılar PHP’yi daha gelişmiş özellikler için kullanabilirsiniz. Eğer bu yönde gelişmek istiyorsanız PHP hosting inceleyebilirsiniz. PHP’yi öğrenmek ve anlamak hiç şüphesiz geliştirme yeteneklerinizi geliştirebilir. İstediğiniz türden bir web site kurabilecek, yetenekli bir WordPress geliştiricisi olabilecek ve hatta günün birinde bir web uygulaması geliştirebileceksiniz! Gördüğünüz gibi PHP’yi öğrenmemeniz için hiçbir sebep yok, değil mi? Umuyoruz ki bu makalede PHP nedir öğretebilmişizdir. Yorumlarınızı ve düşüncelerinizi aşağıdaki yorumlar kısmında bizimle paylaşın!
  10. HTML Nedir? HMTL Kodlama Nasıl Yapılır? Web tasarım konusunda araştırma yapan hemen herkesin karşına çıkan temel kavram HTMLdir. Web sayfalarını oluşturma aşamasında kullanılan standart bir metin işaret dili olan HTML açılımı “Hyper Text Markup Language” olarak bilinir. Genel bilinen yanlış kanının aksine HTML bir programlama dili değildir. Daha açık anlatmak gerekirse, Chrome, Firefox, Yandex gibi tarayıcıların okuyup anlamlandırdığı dil HTML dilidir. HTML Ne İşe Yarar? HTML, web tasarımcılarına sayfalar ve uygulamalar için yapı profilleri, bağlantılar, blok alıntılar, paragraflar ve başlıklar oluşturmalarında yardımcıdır. Bu konuda basit kod yapıları olan etiketler ve nitelikler kullanılarak web sayfaları şekillendirilebilir. HTML için aslında bir web sitesinin iskeleti denilebilir. Yani HTML kodları olmadan web sitesi kodlanamaz. Web sitesi ve sayfaları oluşturulurken mutlaka kullanılması gereken HTML, yeni başlayanlar için öğrenmesi en kolay biçimleme dillerinden biridir. HTML dersleri alarak sistemli bir çalışma için kendinizi geliştirebilir, öğrendiğiniz bilgileri web sayfası tasarlama aşamasında deneyebilirsiniz. Zamanla sahip olduklarınızdan fazlasını öğrenebilir ve web sitesi tasarlama konusunda söz sahibi olabilirsiniz. En Çok Kullanılan HTML Kodları HTML kodları, bir web sayfasının yapısını oluşturan parçacıklardır. Kullanılan kod ne olursa olsun tümü “<” ile başlar ve “>” ile bitmek zorundadır. Bazı basit HTML kodlarını daima bilmeniz gerekir. Hazırladığınız web sayfalarında bu kodları birden fazla yerde kullanmanız gerekecektir. Ancak öncesinde temel bir HTML belge yapısının nasıl olması gerektiğini bilmeniz gerekir. Buna göre; <!DOCTYPE html>: Tüm HTML belgeleri bu kod ile başlamak zorundadır. Bu kod aslında sayfanın HTML5 formatına göre kodlandığını gösterir. <html>: Kök etiket olarak da bilinen bu temel kullanımda tüm HTML kodları, bu iki etiket arasında tanımlanmak zorundadır. <body>: Görünebilir tüm HTML kod parçalarının eklendiği etiket alanıdır. <head>: Web sayfasının dili, başlığı ve diğer düzenlemelerinin yer aldığı etikettir. <title>: Web sitesinin başlık alanını tanımlamak için kullanılır. <title> etiketi, <head> etiketleri arasında olmak zorundadır. <meta charset=”utf-8″>: HTML kodunun Türkçe karakter desteği dahil olmak üzere pek çok dil seti içerdiğini belirtir. Başlık Kodu (Hx) Web sayfanızdaki içeriği okunabilir parçalara bölmenizi sağlayan unsur başlıklardır. HTML temelde 6 başlık ögesini destekler. Bunlar H1, H2, H3, H4, H5 ve H6‘dan oluşur. Örnek kullanım şekli şu şekilde gösterilir: <h1>Birinci başlık</h1> <h2>İkinci başlık</h2> <h3>Üçüncü başlık</h3> <h4>Dördüncü başlık</h4> <h5>Beşinci başlık</h5> <h6>Altıncı başlık</h6> Paragraf Kodu (<p>) Metin içerisindeki paragrafları oluşturmanızı sağlayan koddur. İçerik bölümlerini ayırırken aralarında <br> kodu eklenerek metin paragrafları oluşturulabilse de <p> kodunun kullanılması tavsiye edilir. Arama motorlarını ve tarayıcıları sayfa yapısı hakkında bilgilendirir. Satır Sonu Kodu (<br>) Web sayfasındaki metni yatay olarak bölmeye yarayan HTML kodudur. Kullanıldığı yerde metin bir alt satırdan devam eder. Diğer bir deyişle <br/> kullanıldığında, takip eden tüm kelimeler alt satırdan devam eder. Resim Kodu (<img>) <img> kodu, görüntüleri web sayfasına eklemek için kullanılır. Web sayfasına resim eklemek istediğinizde önce web sunucusuna yükleyin. Daha sonra yüklenen resmin dosya adına başvuru yapmak için bir <img> etiketi kullanabilirsiniz. Buton Kodu (<button>) HTML buton kodu, sayfalarınızı ilgi çekici yapmak ve etkileşimli içerikler oluşturmak için kullanılır. JavaScript ve HTML renk kodları ile daha güçlü hale gelen bu kod, içeriklerinizde kullanıcılarla etkileşime girmenizi sağlar. Bağlantı Kodu (<a>) Önemli HTML link verme kodlarından biri olan <a> kodu ile diğer içerikleriniz arasında da bağlantılar oluşturabilirsiniz. Bağlantı oluşturmak için, bağlantı kurmak istediğiniz içeriğin çevresine <a> ve </a> etiketleri sarmanız gerekir. Yatay Çizgi Kodu (<hr>) Sayfa bölümlerini görsel olarak ayırmada yatay çizgi kodları kullanılır. Bu kod, sayfadaki geçerli konum üzerinden sağ kenar boşluğu arasında bir çizgi oluşturur. Böylece kelime veya cümle grupları yatay çizgiyle ayrılır. HTML ile CSS ve JS Arasındaki Bağlantı Nedir? HTML site tasarlama konusunda gerçekten güçlü bir dil olsa da, profesyonel ve güçlü sonuçlar almada tek başına yeterli değildir. Belirli kodlar kullanılarak yalnızca metin parçaları eklenebilir ve içerik yapısı değiştirilebilir. Fakat HTML ile birlikte CSS ve JavaScript gibi iki frontend dil kullanılırsa, muhteşem bir uyum yakalanır. HTML ile birlikte CSS ve JS kullanılması demek, sağlam bir temel üzerine eklenecek gelişmiş işlevler ve zengin bir kullanıcı deneyimi oluşturma anlamına gelir. HTML arka plan, renk, tasarım, boşluk ve animasyon için CSS’den yardım alırken; slider, fotoğraf galerileri ve açılır pencereler gibi dinamik işlevsellikler için JavaScript ile birlikte uyum içinde çalışır. HTML5 Nedir? Çıktığı günden bu yana sürekli geliştirilen yeni özellik ve eklentiler eklenen HTML sürümleri sürekli yeni güncellemeler ile tarihsel olarak kendi özel isimleri ile anılmıştır. Günümüzde HTML olarak bilinen HTML 4, 1999 yılında yayınlanmış ve oldukça beğeni toplamıştı. Ancak daha sonra HTML 5 güncellemesi geldiğinde, beraberinde pek çok yenilik getirdiği görüldü. HTML5’in en popüler özelliklerinden biri gömülü haldeki ses ve videolara verdiği dahilî destektir. Yıllardan beri kullanılan flash oynatıcı kullanmaya gerek kalmadan, gömülü ses ve video dosyaları web sitesine <audio> </audio> ve <video> </video> kodları eklenerek kullanılabilir. Benzer şekilde SVG (scale vector graphics) ve matematiksel formüller için de MathML desteği sunar. HTML5’i diğerlerinden ayıran bir başka özellik de çeşitli anlamsal düzeltmelere sahip olmasıdır. Yani, web sayfasındaki içeriğin anlamı konusunda hem tarayıcıları hem de arama motorlarına bilgilendirerek web sitesinin indekslenmesine yardımcı olur. En çok kullanılan anlamsal kodlar <article> </article, <header> </header>, <aside> </aside> ve <footer> </footer> etiketleridir. HTML Artıları ve Eksileri HTML Artıları Tüm internet tarayıcılarında doğal (native) olarak çalışabilme, Kolay öğrenebilme, Açık kaynak koduna sahip olma, Tamamen ücretsiz olma, Çok sayıda kaynağa sahip olan devasa bir dil seçeneği sunma, World Wide Web Consortium (W3C) gibi resmî web standartları tarafından denetlenebilme, İstikrarlı ve düzgün biçimleme sunma, Node.js ve PHP gibi backend dilleri ile uyum içinde çalışabilme. HTML Eksileri Bazı tarayıcılar HTML kod sistemine eklenen yeni özellikleri tanımakta yavaş kalabilir. HTML, kullanıcıya mantık ekleyebilme imkânı vermez. Bu nedenle aynı ögelere (footer ve başlıklar gibi) sahip olunsa dahi fark etmeksizin tüm web siteleri ayrı ayrı oluşturulur. Sıklıkla statik durumdaki web sayfaları için kullanıldığından, dinamik işlemleri gerçekleştirmek için PHP, CSS ya da JavaScript gibi ayrı bir backend dili kullanılması gerekir. Bunların dışında HTML hakkında bilinmesi gerekenler şunlardır: HTML bir programlama dili değil, bir işaretleme dilidir. HTML dosya uzantılarının .html ya da .htm şeklinde yazılması gereklidir. HTML kodlarının yazımı için Notepad, Notepad++ ya da Sublime Text gibi editörler kullanılabilir. HTML iyice öğrenildikten sonra mutlaka bilinmesi gereken diğer bir program CSS olmalıdır. HTML kodlarının ilgili tarayıcıda okunan şekline stil vermek için çoğunlukla CSS programı kullanılır. HTML, CSS ve JS ile web sitesi tasarlanabilir.Ancak dinamik ve daha kaliteli hale getirmek için ASP.net, JAVA gibi diller de kullanılmalıdır.
  11. CSS programı, HTML 4.0 sürümüyle ortaya çıkmıştır. CSS nedir sorusuna cevap olarak; HTML kodlarının kullanılmasıyla meydana gelen web sitelerin görüntülerinin şekillendirilmesini sağlayan programdır denilebilir. CSS kullanımı için HTML dilinin bilinmesi gerekmektedir. CSS Ne İşe Yarar? CSS programının görevleri şu şekilde belirtilmektedir: Web sitelerinin arka planını düzenlemek, Web sitelerinin arka ekranında yer alan ara yüzü tasarlayıp şekillendirmek, renklendirmek, boyutlandırmak ve konumlandırmak. CSS programının kullanılmasıyla, web siteleriyle alakalı bütün görüntü düzenlemelerini yapmak mümkündür. CSS İle Neler Yapılabilir? CSS programının işlevlerinin kullanılmasıyla yapılacaklar şu şekilde sıralanmaktadır: Arka planların renklendirilmesi yapılmaktadır. Web sitesinde kullanılan nesnelere kenarlıklar yapılabilir. Eklenen kenarlıkları renklendirmek mümkündür. Sitede yer alan yazıları renklendirip, boyutlarında değişiklik yapmak mümkündür. Web sitesinde dikey ve normal menüler yapılabilir. Resimlerin en ve boylarında değişiklikler yapmak mümkündür. Sitede yer alan butonlar hazırlanabilir. Sitede yer alan nesne ve yazılar üzerinde çeşitli oynamalar yapılabilir. Yazının seçilmesi durumunda, arka plan renkleri değiştirilebilir. Yazı başlıklarının altının çizilmesi sağlanmaktadır. Resimlerin köşelerinde oynama yapılıp, ovallik katılabilir. Sitede yer alan yazılara gölgelendirme yapılabilir. Yazıların ve sitenin ortalanması sağlanır. CSS Kodu Nasıl Olmalıdır? CSS kodunun oluşturulması için belirlenmiş bir kalıp mevcuttur ve şu şekilde belirtilmiştir: Seçilen_nesne { özellik:değer;özellik:değer;özellik:değer; } CSS kodunun kullanım alanları 1.yöntem, 2.yöntem ve 3.yöntem olarak gruplara ayrılır. 2 ve 3.yöntemlerde süslü parantezler kullanılırken, 1.yöntemde süslü parantez kullanılmaz. CSS Nasıl Kullanılır? CSS kullanımı için belirlenmiş 3 ayrı yol bulunmaktadır. CSS nasıl kullanılır sorusunun cevabı olarak belirlenen modeller şu şekilde sıralanmaktadır: Inline Styles: Html taglarının iç kısmında sytyle:”” özelliğine bağlı olan değerlerle beraber kullanılmaktadır. Diğer iki yöntem arasında en fazla farka sahip olan model Inline Styles’dir. Bu modelin kullanılması için yapılacaklar şu şekilde sıralanmaktadır: Özellik atanması istenen nesne belirlenmelidir. Nesnenin içerisine style=”” etiketi eklenir. CSS özelliklerinin tamamı, style=”” etiketinin içine yazılır. Interal Style Sheet: Html kodlarının içine eklense de site kodlarının üst kısmındaki head kodlarının istenilen bölümüne eklenebilmektedir. CSS kullanımında belirlenen kodun eklenmesi için izlenen adımlar şu şekildedir: HTML kodlarının en üst kısmına çıkılır. <head></head> kodlarının içine girilir. <style></style> kodları eklenir. Style kodlarının iç kısmına CSS kodları eklenir. External Style Sheet: En fazla kullanılan CSS yöntemidir. İkinci yöntemle arasındaki tek fark; html kodlarının yer aldığı dosyanın dış kısmında “dosya_ismi.css” adında bir dosya açılması ve css kodlarının bu dosyanın içerisine yerleştirilmesidir. Hazırlanan dosyanın içine ekstradan <style> kodlarını eklemek gerekmez. Direkt olarak css kodları eklenebilir. Hazırlanan dosyanın adında yer alan “dosya_ismi” kısmına istenilen isim yazılabilir. CSS External Style Sheet modelini oluşturmak için izlenecek adımlar şu şekildedir: css adlı bir dosya oluşturulur. css dosyasının iç kısmına css kodları girilmelidir. Head kodunun arasında style.css çağırılmalıdır. CSS Link Özellikleri CSS linklerinin kullanımı için belirlenen kodlar bulunmaktadır. Web tasarımında css kullanımı için belirlenen linklerin özellikleri şu şekildedir: a: Sayfa açıldığı zaman linkin, herhangi bir tıklanma almadığında büründüğü durumdur. a:hover: İmleç üstüne getirilen linkin büründüğü durumdur. a:active: Linkin tıklanması durumunda aldığı haldir. a:visited: Linke tıklanmasının ardından görülen durumdur. Color: Linklerin renklerinden sorumludur. Background-color: Linkin zemin renklerinin belirlenmesini sağlar. Background-image: Linkin zemin kısmına resim eklenmesini sağlar. Text-decoration: Linkin alt ve üst kısmında çizgi olup olmayacağını belirler. Font-weight: Linkte yer alan yazıların kalın ya da ince olmasını belirler. Border: Linkin etrafında kenarlıkların oluşmasını sağlar. Display: Linkin yer aldığı hücre ve satır gibi alanların belirlenmesine yardım eder.
  12. Jquery Nedir? – Nasıl Kullanılır? Merhaba, bu yazımda jquery nedir ve jquery nasıl kullanılır sorularına cevaplar verecek, örneklerle açıklayacağım. Bundan sonra siteye düzenli olarak Php ve Javascript kategorilerinde olduğu gibi Jquery kategorisinde de yazılar ekleyecek ve seri halde tamamlamaya çalışacağım. Jquery Nedir? Jquery en basit tanımıyla bir Javascript kütüphanesidir. Piyasada pek çok kişi tarafından gerek kullanım kolaylığı, gerekse çalışma hızı yüzünden tercih edilir. Tabi ki ben de çok uzun zamandır jquery kullanırım hatta şöyle ki, javascript kullanımım daha azdır. Bunun en büyük sebebi yazım kolaylığı, jquery kodlarının daha kısa olması ve sayfalarda seo konusunda google abimizin jquery kütüphanesine bakışıdır. Css ve Html ile yapılamayan bazı efektif işle de jquery ile yapılabiliyor. Gerçi bu yazıyı yazdığım tarihte artık css ve html ile de pek çok işi rahatlıkla yapabilirsiniz ancak jquery bu konularda bilgisi zayıf olan kişilere de ilaç niteliğinde bir kütüphanedir. İnternet explorer 6 ve diğer tarayıcı uyumsuzlukları için de farklı farklı çözümler bulunur. Yani çalışmayacağı alan yok diyebiliriz kısaca.. Jquery Nasıl Kullanılır? Jquery kullanabilmek için kütüphaneyi sayfanıza bir şekilde dahil etmeniz gerekir. İsterseniz jquery.com adresinden çekebilir, isterseniz indirip kendi sunucunuzda barındırabilirsiniz. Ben genellikle sayfa açılış hızını düşürmemek adına jquery’nin sıkıştırılmış halini indirip kendi sunucuma yüklemeyi tercih ediyorum. Eğer jquery üzerinde değişiklik yapmak gibi bir düşünceniz yoksa siz de sıkıştırılmış dosya ile işlerinizi halledebilirsiniz. Değişiklik yapacaksanız sıkıştırılmamış dosyasını da kullanabilirsiniz. Direk jquery.com sitesinden çekerek kullanalım <script type="text/javascript" src="//code.jquery.com/jquery-3.3.1.min.js"></script> şeklinde ekledik. Şu anki sürümü 3.3.1 olduğu için ben onu ekledim siz o an en güncel olan sürümü çekip kullanabilirsiniz. Sunucumuza yükleyerek kullanalım; <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script> şeklinde eklememiz gerekir. Şu an sunucumuzun ana dizininde bulunan js klasörü içine jquery-3.3.1.min.js dosyasını yükledik ve sayfamıza çağırdık. Javascript kütüphaneleri ve kodlarının genelde sayfanızın </body> tagı ile </html> tagı arasına yani sayfanın sonuna koyulması tavsiye edilir. Bunun sebebi sayfa açılışı sırasında javascript dosya ve kütüphanelerinin yüklenmesinin beklenmemesi ve sayfanın düzgün görünerek açılmasının sağlanmasıdır. Neyse, gelelim jquery’nin nasıl yazıldığına. Jquery Nasıl Yazılır? Jquery dosyasını sayfamıza çektik ve artık yazmaya hazırız. Jquery operatörleri $ ve jQuery’dir. Ama ben genelde $ operatörü ile yazıyorum. Aşağıdaki örnek sayfa hazır hale geldiğinde jquery kodlarının çalışmasını sağlar; <html> <head></head> <body> . . . </body> <script type="text/javascript" src="//code.jquery.com/jquery-3.3.1.min.js"></script> <script> // Sayfa Hazır olduğunda Çalış $(document).ready(function(){ // Ekrana uyarı mesajı olarak Merhaba, Jquery çalıştı! mesajını yaz alert("Merhaba, Jquery çalıştı!"); }); </script> </html> Yukarıdaki sayfayı çalıştırdığınızda ekranda “Merhaba, Jquery çalıştı!” mesajı çıkacaktır. Yukarıda da belirttiğim gibi sayfa hazır olduğunda çalıştırılmasını istediğimiz için $(document).ready(function(){…}); fonksiyonunu kullandık. Şimdide sayfada bulunan bir div elemanını seçerek işlem yapalım; <html> <head></head> <body> <div></div> </body> <script type="text/javascript" src="//code.jquery.com/jquery-3.3.1.min.js"></script> <script> // Sayfa Hazır olduğunda Çalış $(document).ready(function(){ $("div").text("Div nesnesinin içine bu metni yaz."); }); </script> </html> Çıktı; Yukarıdaki sayfayı çalıştırdığınızda ekrandaki çıktı yukarıdaki gibi olacaktır. Bu sayfa Jquery serimin ilk yazısı oldu. Bu yazıda Jquery Nedir? Jquery Nasıl Kullanılır sorularına kendimce cevap vermek istedim. Sonraki yazılarda kullanımı ve örnekleri detaylandırmayı hedefliyorum şayet bir aksilik olmazsa. Bu yazılık bu kadar, bir sonraki yazıda görüşmek üzere.
  13. Merhaba Arkadaşlar. Bu yazımda sizlere Node.js'te modül kullanımından bahsedeceğim. Modülleri projemizi kodlarken bizlere yardımcı olan hazır paketler diye adlandırabiliriz. Nodejs'te 2 adet modül yapısı bulunmaktadır. Bunlar Yerel (Kendi oluşturduğumuz) modüller ve harici olarak npm kullanarak projemize entegre ettiğimiz modüllerdir. Modüller çok faydalıdır. Her dosyada çağırabildiğimiz için bizi kod tekrarından kurtarır. Şimdi ilk olarak harici modülleri projemize nasıl ekleriz ondan bahsedelim. const http = require('http'); Yukardaki kod projemize http modülünü ekliyor. Require fonksiyonu ile projemize http modülünü dahil ettik. Şimdi de dahil ettiğimiz modülü nasıl kullandığımıza bakalım. http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); res.end('KodlamakLazım | Daha İyi bir Dünya İçin!'); }).listen(3000); Gördüğünüz üzere http modülünün createServer fonksiyonu ile bilgisayarımıza nodejs serverini kurduk. Harici modüllerin kullanımı bu şekilde Pekiiiiii dahili yani projede kendi yazığımız modülleri nasıl sayfamıza dahil eder ve kullanırız ? Gelin şimdi de buna bakalım. //Dosyamızın adı module.js exports.title = function () { return "Kodlamak Lazım"; }; Burada dosyamızı Javascriptdahili modülü olan exports ile projedeki tüm dosyalar tarafından ulaşilabilir hale getirdik. // Dosya adı app.js const pageTitle= require('./myfirstmodule'); console.log(pageTitle.title) Npm İle Projemize Modül Dahil Etmek Npm (Node Packet Manager) javascript modüllerini projemize dahil etmemizi sağlayan bir araçtır. Komutlarla çalışır. Nodejs Ve Npm yazımızda detaylı olarak anlatmıştık. İlk olarak npm ile modüle aramayı size göstermek istiyorum. İşletim sisteminizin komut ekranını açıp aşağıdaki kodu yazın. Merhaba mongoDB modüllerini aramak istiyorsanız aşağıdaki kodu komut ekranına yazıp Enter tuşuna basmanız yeterli olacaktır npm search mongodb Eğer bir modülün adını biliyorsanız komut ekranını açıp cd komutu ile proje klasörünüzün yolunu yazarak proje klasörünüz içine girin ve aşağıdaki kodu yazın. Mesela express modülünü kurmak isterseniz : cd /Projenizin dosya yolu //Entere basın npm install express //Entere Basın Böylelikle express modülü projenize yüklenmiş olacaktır.
  14. Javascript uzmanları tarafından önerilen ve üzerinde en çok durulan konulardan biri budur. Javascript kullandığımız tüm projelerimizde aynı kuralları kullanmamız gereklidir. Javascript Kodlama Kuralları Kodlama kuralları programlama için stil yönergeleridir. Yani yazdığımız kodları bir standarda oturtmamız gerekmektedir. Stil kılavuzu genelde şunları kapsar; - Değişken ve fonksiyonlar için isimlendirme ve açıklama kuralları. - White space , girinti ve boşlukların nasıl kullanılacağına dair kurallar. - Programlama uygulama ve ilkeleri. Kodlama kuralları kaliteli kod yazmamızı sağlar; - Kodları daha okunaklı yazmamızı sağlar. - Kodların bakım ve güncelleştirilmesini kolaylaştırır. Kodlama kurallarını yalnız kendi kodlarımız için veya ekip çalışmasında ortak belirlenen kurallar için kullanabilirsiniz. Kendi kodlama kurallarınız ekiple çalıştığınızda ortak alınan kurallardan farklı olabilir. Değişken İsimleri Ben genelde yazdığım projelerde CamelCase değişken adı yapısını kullanıyorum. W3school2un önerdiği yazım şeklide budur. Mesela 2 kelimeden oluşan bir değişken adı için ilk kelimenin tüm harfleri küçük, ikinci kelimenin ise ilk harfi büyük diğerleri küçük yazılır. <script> let saatKac = "17:28"; var telefonModeli = "Apple"; const piSayisi="3.14"; </script> Operatörlerin Etrafındaki Boşluklar Kullandığımız operatörlerin (+ , - , - , / ) sonuna daime boşluk koymalıyız. Bu kodumuzun okunabilirliğini artıracaktır. <script> var x = y + z; var arabalar= ["Renault" , "Ford" , "Fiat"]; </script> Girinti Boşluğu Kod blokları arasında yazacağınız kodlar için daima 2 boşluk kullanın. <script> function ad(ad) { return ad; } </script> Girintilerde tab kullanmanız önerilmez. Farklı editörler tab boşluğunu farklı şekillerde yorumlayabilir. İfade Kuralları Bazı basit ifadeler için uymamız gereke kurallar şu şekildedir. - Her zaman basit bir ifadeyi noktalı virgülle sonlandırın. <script> let arabalar = ["Volvo", "Saab", "Fiat"]; var kisi = { isim: "Zafer", soyisim: "Yıldız", age: 26, gozRengi: "yeşil" }; </script> Karmaşık ifadeler için uymamız gereken kurallar; - Açma parantezini (Süslü parantez) ilk satıra koyun. - Açılan parantezden önce bir boşluk bırakın. - Kapatma parantezini boşluk bırakmadan yeni satıra ekleyin. - Karmaşık bir ifadeyi noktalı virgülle sonlandırmayın. Fonksiyonlar: <script> function isimSoyle(isim) { return isim; } </script> Döngüler: <script> for (i = 0; i < 5; i++) { x += i; } <script> Koşullu İfadeler: <script> if (zaman< 20) { mesaj = "İyi günler"; } else { mesaj = "İyi akşamlar"; } </script> Nesne Kuralları Nesne kullanırken daha düzgün kod yazmak için uymamız gereken kurallar şunlardır: - Süslü parantezi nesne adı ile aynı satırda yazın. - İki nokta üst üste ve her özellik ile değeri arasında boşluk bırakın. - Sadece metinsel ifadelerde tırnak kullanın. - Son özellik-değer çiftinden sonra virgül eklemeyin. - Süslü parantezin kapatma kısmını boşluk bırakmadan bir alt satıra yazın. - Nesne tanımını her zaman noktalı virgülle sonlandırın. Kısa nesneler tek satırda yalnızca özellikler arasında boşluk bırakılarak yazılabilir. <script> var kisi = {isim:"Sare", soyIsim:"Ocaktan", yas:50, gozRengi:"yesil"}; </script> Satır Uzunluğu Bir satırda yazacağınız maksimum karakter sayısı 80 olsun. Eğer fazla ise alt satırdan yazmaya devam edin. <script> document.getElementById("demo").innerHTML= "KodlamakLazim"; <script> Adlandırma Kuralları Her zaman tüm kodlarınız için aynı adlandırma kuralını uygulayın. Mesela Javascript için önerilen kurallar şunlardır; - Değişken ve Fonksiyonlar için CamelCase. - Global değişkenler için UPPERCASE. - Sabit değişkenler için UPPERCASE. HTML Dosyasına Javascript Yükleme Harici Javascript dosyalarını sayfaya dahil etmek için kullanılan temel sözdizimi şu şekildedir. Type özniteliğini kullanmamıza gerek yoktur. <script src="myscript.js"></script> HTML Elementlerine Erişmek Html elementlerine verilen öznitelikleri küçük harfle tanımlamamız önerilir. Aksi takdirde hatayla karşılaşabiliriz. <script> var deneme = getElementById("Demo") var deneme = getElementById("demo") </script> Mümkün olduğu kadar Html de adlandırmaları Jaascript gibi yapmaya çalışın. Dosya Uzantıları Html dosyaları için .html veya .htm Css dosyaları için .css Javascript dosyaları için .js kullanmalıyız. Çoğu web servis sunucuları (Apache, Nginx) büyük küçük harfe duyarlıdır. zafer.jpg dosyasına Zafer.jpg olarak erişemeyiz. Diğer web sunucuları büyük-küçük harfe duyarlı değillerdir. Büyük ve küçük harflerin karışımı şeklinde bir dosya kullanırsanız oldukça tutarlı olmanız gerekmektedir. Çünkü bazı durumlarda hatanın nerden kaynaklandığını bulamayıp günlerce uğraşmanız gerekebilir. Case sensitive olmayan bir sunucudan, case sensitive olan bir sunucuya geçerseniz siteniz çalışmayabilir. Bu tür sorunların önüne geçmek için mümkün olduğu kadar küçük harf ile isimlendirilmiş dosyalar kullanmaya dikkat edin. Performans Şunu unutmayın. Kodlama kuralları bilgisayarlar tarafından kullanılmaz. Çoğu kuralın program işleyişi üzerinde çok az bir etkisi vardır. Küçük projelerde girinti ve fazladan boşluklar önemli değildir. Geliştirme aşamasında kodlar okunabilir olmalıdır yani boşlukları kendi okuyabileceğimiz şekilde ayarlamamız gerekmektedir. Ancak sunucuya dosyamızı yüklediğimiz zaman sıkıştırmalıyız.
  • Profil Reklam Alanı
  • Bu Alana Reklam Verebilirsiniz
    Bu Alana Reklam Verebilirsiniz
×
×
  • Create New...