Java, diğer programlama dillerinden çok daha farklı bir dünyadır. İçerdiği teknolojilerin çokluğu nedeniyle yeni başlayanlar genelde Java’ya nereden başlayacaklarını bilemezler. Bununla birlikte hemen hemen bütün teknoloji içerikli konularda olduğu gibi Java konusunda da nitelikli Türkçe kaynak sıkıntısı bulunmaktadır.
Piyasadaki çoğu Türkçe ve İngilizce kitap, okuyucuya Java Dili’nin kavramlarını vermekte başarılı olsa da bu kitaplar içerdikleri uygulamalar göz önüne alındığında komut satırından çalışan küçük programlar ve çeşitli applet örneklerinden daha ilerisini sunamamaktadırlar.
Yeni nesil Java Web teknolojilerine ilgi duyan okuyucuların ise İngilizce kitaplar dışında maalesef hiç bir seçenekleri bulunmamaktadır.
Kitap tüm bu temel eksiklikler göz önünde bulundurularak hazırlandı. Kitaptaki örneklerin çok önemli bir kısmı günümüzün en çok kullanılan Entegre Geliştirme Ortamlarından Netbeans IDE’si üzerinde geliştirildi. Netbeans IDE’sinin detaylı bir incelemesini sunan kitap hazırlanan örneklerin Netbeans üzerinde nasıl çalıştırılacağı, hata ayıklama ve derleme gibi işlemlerin profesyonel bir şekilde nasıl kotarılabileceği hakkında detaylı bilgiler içermektedir.
Bu kitap, piyasadaki Java kitaplarının eksiklikleri göz önünde bulundurularak hazırlandı. Piyasadaki tüm Java kitapları, genellikle okuyucuya programlama dilinin bütün özelliklerini anlatır. Fakat bu kitapları bitirenlerin çoğu, kitabı bitirdiklerinde Java programlamaya nereden başlayacaklarını bilemezler. Okuyucular kitabı büyük bir iştahla bitirir. Ellerinde Java’nın hemen hemen tüm konseptlerini anlatan örnek kodlar vardır; fakat kodu derlemek ve çalıştırmak için bildikleri tek yol komut satırından bazı komutları çalıştırmaktır. Belli bir noktadan sonra bir metin editöründe Java kodu yazmak yeni başlayan okuyucunun hevesini kırar ve çoğu daha başlangıçta pes eder. Aslında bu durum hemen hemen bütün programlama kitapları için geçerlidir.
Bu kitabın Java’nın bütün özelliklerini anlatmak gibi bir iddiası yoktur. Bir başka deyişle bu kitap Java’yı her şeyiyle anlatan bir referans kitabı değildir. Kitabın temel iddiası Java’yı profesyonel araçlarla etkin bir şekilde kullanmayı öğretmektir. Peki, Java nasıl etkin bir şekilde kullanılır? Bize göre en temel ihtiyaç bir Entegre Geliştirme Ortamıdır. Kitapta hemen hemen her konu piyasadaki en güçlü Java geliştirme ortamlarından biri olan NetBeans IDE’si kullanılarak anlatılmıştır. İlk 3 bölüm dışındaki tüm örnekler Netbeans projeleri olarak verilmiştir.
Kitabın ilk 5 bölümü Java temellerini anlatır. Değişkenler, kontrol yapıları, mantıksal ifadeler, sınıflar, nesneler, metotlar, döngüler ve kalıtım gibi kavramlar ilk 5 bölümde işlenmiştir. Kitabın geriye kalan 11 bölümü ise uygulamaya yöneliktir. Bu bölümler altında Netbeans temelleri, veritabanı tasarımı, MySQL, Swing, JDBC, JFreeChart, Web Servisleri, JSF 2.0, JPA/Hibernate, Java Mobile gibi piyasada sıklıkla kullanılan kavramlar incelenmiştir. Kitabın 8-13. bölümleri arasında adım adım bir Blog uygulaması geliştirilmiştir. Geliştirilen blog uygulaması için bir veritabanı tasarımı yapılmıştır. Bu veritabanına JDBC aracılığıyla Swing, JSF ve Web servisleri üzerinden erişim gerçekleştirilmiş ve neredeyse tam teşekküllü bir Blog uygulaması geliştirilmiştir.
Kitabın 14 ve 16. Bölümleri ise sırasıyla J2ME ve Java’da İleri Konular olarak adlandırılmıştır. Bu bölümlerden 14 ve 16. bölümler giriş niteliğindeki bölümlerdir. 15. bölüm ise yine tam teşekküllü bir JPA/Hibernate uygulamasıdır.
Kitabı bitirdikten ve örnek uygulamaları çalıştırıp inceledikten sonra, diğer kitapların sonuna geldiğinizde yaşayabileceğiniz olası uygulama eksikliklerini büyük ölçüde kapatmış olacaksınız.
Kitapta yer alan başlıca konu başlıkları:
• Programlama Dillerinin Tarihçesi
• Java Programlama Dili
• JDK, JRE ve JVM Kavramları
• Java Programlama Dili Temelleri
• Değişkenler, Diziler, If-Else, Switch yapıları, Operatörler, Döngüler,
• Java ile Programlamaya Giriş
• Sınıflar, Nesneler, Metotlar, Statik metotlar, İstisna Yönetimi, Paketler
• Java ile Nesne Tabanlı Programlama Temelleri
• Kalıtım, Arayüzler Çok biçimlilik, Generics ve Collections Kavramları
• Java Build Sistemleri ve IDE’leri
• Ant, Maven
• IDE Kavramı(Netbeans, Eclipse, IntelliJ, JDeveloper, JBuilder)
• Netbeans IDE’si ve kurulumu
• Temel Java Uygulama Yapıları
• Konsol Uygulamaları
• Masaüstü Uygulamaları(Swing, AWT, SWT)
• Web Uygulamaları(JSP, JSF, Struts, Seam, Spring)
• İlişkisel Veritabanı Kavramı(SQL, MySQL, Navicat)
• JDBC ile Veritabanı Programlama Temelleri
• Swing masaüstü uygulaması örneği
• JSF Uygulaması Örneği
• Web Servis Teknolojileri ve Web Servis Uygulaması Örneği
• Diğer Uygulama Örnekleri(Text ve Xml dosyalarına erişim)
• Raporlama araçları (Jasperreports ve Ireport)
• Çok kanallı uygulamalar.
• Netbeans ile Java Tabanlı Cep Telefonu Uygulamaları Geliştirme
• JPA/Hibernate ile Veritabanı Programlama
• Önemli Java Kütüphaneleri’nin İncelenmesi (Apache POI, JESS, Zemberek, Solr, Lucene, JFreeChart, SwingX, Substance)
Yazar Hakkında
Konya doğumlu yazarımız 2006 yılında (şimdiki adıyla Eskişehir Teknik Üniversitesi olan) Eskişehir Anadolu Üniversitesi Elektrik-Elektronik Mühendisliği bölümünden mezun olduktan sonra 2009 yılında aynı bölümde yüksek lisansını tamamlamış ve halen Elektrik-Elektronik Mühendisliği konusunda doktora eğitimine devam etmektedir.
2010 yılına kadar akademisyen olarak çalışan yazar 2010 yılıyla birlikte özel sektöre geçerek Telekomunikasyon alanında ve Savunma Sanayiinde, Uzman Yazılım Mühendisi Çözüm Mimarı, DevOPS Takım Lideri ve Yazılım Ürün Geliştirme Yöneticisi gibi rollerde çalışmıştır.
Şu anda İngiltere'de uluslararası bir kuruluşta Kıdemli Yazılım Mühendisi olarak çalışmaya devam eden yazarın ilgi alanları arasında; Yazılım Mimarisi ve Tasarımı, DevOPS, Java EE, Spring, SOA, Fonksiyonel Programlama, Mobil Uygulama Geliştirme, Python, Makina Öğrenmesi ve Derin Öğrenme bulunmaktadır.
Yazarımızın KODLAB’tan daha önce “Java ve Java Teknolojileri“, “Objective-C”, "iOS Uygulama Geliştirme ve “Her Yönüyle C” isimli kitapları çıkmıştır.