Windows Presentation Foundation - Yazılımın Derinlerine İnmek

Hello

Hectopat
Katılım
2 Temmuz 2014
Mesajlar
555
Makaleler
2
Daha fazla  
Cinsiyet
Erkek
Merhaba, Geçen yazdan beri ara sıra yazılım ile ilgili şeyler öğreniyorum. Açık Akademi'deki videoları izliyeceğim bu yaz. Ancak orada biraz üstten almış gibi. Ben WPF'de uğraşıyorum. Orada ki videolarda hep üstten almış. Form uygulamalarının kontrollerini öğreneceğim bu yazın oradan. Pek derinlere inmiyor nedense. Oradan öğrendiklerimle aşağıdaki gibi bir kod yazmam bana mümkün gelmiyor. Belki yazılım okuyan arkadaşlarımız vardır, acaba onlar nasıl öğreniyorlar, okullarda nasıl öğretiliyor gibi sorularım var. @Fatih Apaydın hocam acaba siz nasıl öğrendiniz yazılımı ? Dediğim kod ;
Kod:
private void btnProcess_Click(object sender, RoutedEventArgs e)
        {         
            List<string> tarayicilar = new List<string>() { "chrome.exe", "firefox.exe", "iexplore.exe" };

            bool webSayfasiAcildimi = false;

           
            for (int i = 0; i < tarayicilar.Count; i++)
            {
                Process p = new Process();
                try
                {
                    ProcessStartInfo psinfo = new ProcessStartInfo(tarayicilar[i],"mspaint.exe");
                    p.StartInfo = psinfo;                  
                    //Aşağıdaki satırın istisna fırlatma potansiyeli var
                    p.Start();
                    MessageBox.Show("Web sayfası "+tarayicilar[i]+" ile açıldı.");
                    webSayfasiAcildimi = true;
                    break;
                }
                catch (Exception)
                {
                  
                }
            }

            if (webSayfasiAcildimi == false)
                MessageBox.Show("Web sayfası tanımlı herhangi bir tarayıcı tarafından açılamadı.");
        
        }
 
Form uygulamalarının kontrollerini öğreneceğim bu yazın oradan
Windows Forms yerine WPF öğrenmeye ağırlık vermek daha doğru gibi geliyor bana. Sadece WPF'de kullandığımız "data binding" mekanizması (ayrıntı vermeden şimdilik temiz kod yazmamızı sağlıyor diyeyim) için bile WPF öğrenilir. İleride ASP.NET Web Forms ile ASP.NET MVC arasında seçim yaparken de yine bence ASP.NET MVC seçilmesi gereken olmalı. Javacılar için JSF 2.0 ve daha üst sürümler MVC tasarım desenini öğrenmek için çok uygun olabilir. Seçim sizin.

acaba siz nasıl öğrendiniz yazılımı
Ben açıkçası bu işin mektepli değil de alaylı tarafındayım. Bilgisayar yada yazılım mühendisliği mezunu arkadaşlarım benden daha öndeler bu konuda. Matematik bölümü mezunuyum. Üniversite hayatımda da C hariç hiç yazılım dersi almadım. C dersi de zorunluydu zaten . Altını çizerek belirtmem gerekirse yazılımı öğrendim diyemem. Daha yolun başındayım. Öğrenmem gereken birçok konu var. Benden daha iyi kod yazan kıymetli meslektaşlarımı gördükçe kıskançlıktan çatlamak yerine hevesim artıyor . Benden daha iyi olan yazılımcı arkadaşlarımı samimi olarak takdir ediyorum. Bende bu kodlardan yazacağım diyorum. Ben C programlama dili ile başlamıştım. For, while, değişken tanımlama, devamlı tekrar eden işleri tekrar tekrar yazmak yerine aynı işi yapan bir metod yazıp onu çağırma gibi temel programlama bilgilerini öğrendim. Daha sonra C# ve harika bir IDE olan Visual Studio ile tanıştım. Yavaş yavaş Object Oriented (Nesne Yönelimli) programlama konularına C# ile başladım. Birkaç tane masaüstü uygulama yazdım. Tema destekleri bile vardı. Kabul ediyorum pek göze hitap etmiyorlardı . Şu an ASP.NET MVC ile bir web uygulaması üzerinde çalışıyorum.

Yazılım öğrenmek için merak ve heves olacak. Sıfırdan bir şeyler yapıp yayınlamanın tadına varan kolay kolay bu işten vazgeçemez. Öğrenilecek konular hiç bitmiyor. Hep lazım olan yeni bir teknoloji var. Ama bu iş gerçekten zor bir iş. Sabırlı olmak yazılımcı olmanın anahtarı. Şanslıyız ki çok kaynak var. Karşılaştığımız sorunların hatırı sayılır miktarı çoktan çözülmüş.

Bir de İngilizce konusu var. Maalesef güzel ülkemde yazılıma dair kaynaklar, şimdilik istenen miktar ve kalitede olmadığından yabancı kaynakları takip etmek zorunda kalıyoruz. Bu nedenle de çoğunlukla basit bir dil ile yazılan yabancı kaynakları takip edebilmek için orta seviye bir İngilizce elzem hale geliyor. İngilizce halledilmiş ise en yeni teknolojileri elmayı dalından koparıp taze taze yemek gibi direkt kaynağından öğrenebilirsiniz.

Son olarak bir yol haritası verip konuyu bağlayalım. İlk olarak C# konuları ile başlanabilir. Daha sonra masaüstü bir teknoloji ele alınabilir. Windows Forms veya WPF. Sirada ne var? Tabii ki SQL ile veri tabanı konuları incelenmeli. Ardından şiddetle Entity Framework öğrenilmesini öneririm. Web tarafına geçiş için uygun zaman geldi. Ön hazırlık Html, Css, Bootstrap, Javascript, Jquery. Sonra ASP.NET Web Forms veya ASP.NET MVC versiyonu. Son basamak web servisleri ile ilgili ayrıntılı bilgilenmek için WCF öğrenilmesi de düşünülebilir. Daha tasarım desenlerinden (MVC gibi), algoritmadan, yazılım proje yönetiminden, scrumdan bahsetmedim. Yol oldukça uzun.

Güzel günler...
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…