VB.NET EĞİTİMİ
VB.NET eğitimi, dili "legacy" etiketinden çıkartıp modern .NET ekosisteminde verimli kullanan mühendisler yetiştirir. VB.NET'in modern .NET ortamında C# ile birlikte konumlandırılması; Module, Class, Structure ve Inheritance ile OOP somut senaryolar üzerinden uygulanır.
Program sonunda katılımcı, LINQ ile sorgu yazar ve deferred execution davranışını bilir; Async ve Await ile asenkron akış kurar; WinForms ve WPF ile masaüstü UI tasarlar; Entity Framework ile veri katmanını ORM üzerinden yönetir. Legacy VB6'dan VB.NET'e migration yolu eğitimin pratik kapanışıdır. Eğitim, Visual Basic .NET belgeleri baz alınarak kurgulanır.
Katılımcı Profili
Bu eğitim, VB.NET'i "legacy dil" etiketinden çıkartıp modern .NET ekosisteminde kullanmak isteyen rollere yöneliktir:
- VB.NET Geliştiriciler: Mevcut VB.NET projelerini bakım ve geliştiren mühendisler
- Masaüstü Uygulama Geliştiricileri: WinForms veya WPF ile native uygulama yazan ekipler
- Migration Ekipleri: VB6'dan VB.NET'e geçiş yapan mühendisler
- .NET Framework Bakım Ekipleri: Legacy kod tabanını modernize eden roller
- Junior .NET Geliştiriciler: VB.NET ile .NET ekosistemine giriş yapan mühendisler
Ön Gereklilikler
Bu eğitime katılım için aşağıdaki ön bilgiler önerilir:
- Herhangi bir dilde temel programlama (variable, loop, function) deneyimi
- OOP kavramlarına (class, inheritance) giriş düzeyi aşinalık
- Visual Studio kullanım deneyimi
- SQL ile temel sorgulama bilgisi (tercihen)
- Windows ortamında uygulama geliştirmeye ilgi
Süresi ve Tarihi
Süre: 3 gün. Bu süre standart program içindir; ek modüllere ve hedefe göre süre özelleştirilebilir.
Eğitim tarihleri ve saatleri, ekibinizin uygunluğuna göre birlikte planlanır.
Kazanımlar
Bu eğitim sonunda katılımcı, VB.NET'i "legacy dil" etiketinden çıkartıp modern .NET ekosisteminde verimli kullanır:
- VB.NET'i modern .NET ortamında C# ile birlikte konumlandırır
- Module, Class, Structure ve Inheritance ile OOP'yi uygular
- LINQ ile sorgu yazar, deferred execution davranışını bilir
- Async ve Await ile asenkron akış kurar
- WinForms ve WPF ile masaüstü UI tasarlar
- Entity Framework ile veri katmanını ORM üzerinden yönetir
- Legacy VB6'dan VB.NET'e migration ve bakım yolu çizer
VB.NET Eğitimi Konuları
1. .NET Mimarisi ve VB.NET'in Yeri
- .NET Framework ve .NET (Core) farkı
- CLR, BCL, IL ve JIT
- VB.NET vs C# karşılaştırma
- Visual Studio ve VS Code
2. Proje Yapısı ve Compilation
- Solution, project, assembly
- .vbproj ve MSBuild
- NuGet package yönetimi
- Build configuration: Debug, Release
3. Variable, Data Type, Option Strict
- Dim ile değişken tanımı
- Integer, Long, Double, Decimal, String
- Option Strict, Option Explicit
- Nullable type (Integer?)
- Implicit ve explicit conversion (CInt, CType)
4. Operator ve Expression
- Aritmetik: +, -, *, /, , Mod
- Karşılaştırma ve mantıksal: AndAlso, OrElse
- String concatenation (& vs +)
- Bit operatörleri
5. Karar Yapısı - If, Select Case
- If...Then...Else...End If
- Select Case yapısı
- Case Is, Case In, Case To
- Inline If (IIf, If())
6. Döngü - For, While, Do
- For...Next ve Step
- For Each döngüsü
- While...End While
- Do...Loop While/Until
- Continue ve Exit
7. Sub ve Function
- Sub: değer döndürmez
- Function: değer döndürür
- ByVal vs ByRef parametre
- Optional parameter ve ParamArray
- Named argument
8. Array, List, Collection
- Array ve ReDim Preserve
- Multi-dimensional array
- List(Of T), Dictionary(Of K, V)
- HashSet, Queue, Stack
- Generic vs non-generic collection
9. String, Date, Math Function
- String fonksiyonları: Trim, Replace, Split
- StringBuilder ile performans
- DateTime ve TimeSpan
- Format() ve string interpolation ($)
- Math.* ve Random
10. Class, Module, Structure
- Class ile reference type
- Structure ile value type
- Module ile static container
- Shared (static) member
- Constructor ve Finalize
11. Inheritance ve Polymorphism
- Inherits keyword
- Overridable, Overrides, NotOverridable
- MustInherit (abstract) class
- MyBase ve Me
- Method overloading
12. Interface ve Multiple Inheritance
- Interface tanımı
- Implements keyword
- Explicit interface implementation
- Default interface member
13. Exception Handling - Try/Catch
- Try...Catch...Finally
- When clause ile filter
- Custom exception class
- Throw ve rethrow
- Using statement ile IDisposable
14. File I/O ve Stream
- File.ReadAllText, WriteAllText
- StreamReader ve StreamWriter
- FileStream ve binary
- Directory ve Path
- Async dosya işlemi
15. LINQ Query Syntax
- From, Where, Select, Order By
- Group By ve Aggregate
- Method syntax alternatifi
- Lambda expression ve delegate
- Anonymous type
16. ADO.NET ile Database
- SqlConnection ve SqlCommand
- SqlDataReader vs DataSet
- Parametreli sorgu (SQL injection önleme)
- Entity Framework alternatifi
- Connection string yönetimi
17. Windows Forms ve WPF
- Windows Forms event-driven UI
- Form, Control, Event handler
- WPF ve XAML
- Data binding
- WinUI 3 modern alternatif
18. Migration - VB6 ve .NET Framework
- VB6 → VB.NET migration
- .NET Framework → modern .NET modernizasyon
- upgrade-assistant aracı
- API farkları (My namespace vb.)
VB.NET EĞİTİMİ ile İlgili
Sıkça Sorulan Sorular ve Cevapları
VB.NET ve C# arasında karar nasıl verilir?
Yeni projeler için C# resmi tercih — daha aktif development, daha geniş community, çoğu .NET dokümantasyonu C# ile. VB.NET feature parity yavaşladı ama desteklenmeye devam ediyor. Mevcut VB.NET codebase'i sürdürmek mantıklı; greenfield project için C# tercih edilir.
WinForms ile WPF arasında karar?
WinForms basit form tabanlı uygulama için olgun, hızlı geliştirme, Designer güçlü. WPF XAML ile data binding, MVVM, modern UI (animation, vector graphics) için daha esnek. Yeni desktop uygulamalar WPF veya WinUI 3 tercih eder; iç araç ve basit uygulama için WinForms hâlâ pratik.
LINQ syntax ile method syntax arasında karar?
LINQ query syntax (From ... Where ... Select) SQL'e yakın okunabilirlik sağlar — karmaşık join ve grouping'de tercih edilir. Method syntax (.Where().Select()) fluent chain, lambda kullanır, kısa filter için daha sade. İkisi compile sonrası aynı IL üretir — preference.
Async/Await VB.NET'te C#'tan farklı mı?
Mantık aynı — Async Function, Await operator, Task
Entity Framework ile ADO.NET arasında karar?
EF Core productivity için ORM — change tracker, migration, LINQ to SQL. ADO.NET düşük seviye, query plan kontrolü tam, ham SQL ile her şey yapılır. Performance-critical batch işler ADO.NET; CRUD ve domain modeling EF Core. Karma kullanım yaygın — EF default, ADO özel durumda.
VB6'dan VB.NET'e migration nasıl planlanır?
Big-bang yerine kademeli — VB6 ile COM Interop ile birlikte çalıştırılır. Microsoft'un Upgrade Wizard temel dönüşüm yapar ama manuel düzeltme gerekir. .NET Framework yerine modern .NET 8'e geçiş ek migration. Strangler pattern: yeni özellik VB.NET veya C#, eski VB6 koruma modunda.



