VB.NET 3D logosu yanında iki VB.NET modül bloğu bembeyaz arka planda premium kompozisyon

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, Taskreturn. Söz dizimi VB.NET stiline uyarlanmış. ConfigureAwait(False) ASP.NET klasik için library kodunda gerekli; ASP.NET Core'da gerek yok. Long-running CPU işi için Task.Run, I/O için doğrudan async.

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.