Gizem Malçok

Merge remote-tracking branch 'origin/master'

@@ -34,6 +34,7 @@ @@ -34,6 +34,7 @@
34 [![Korean](https://img.shields.io/badge/Language-Korean-blueviolet?style=for-the-badge)](README.ko-kr.md) 34 [![Korean](https://img.shields.io/badge/Language-Korean-blueviolet?style=for-the-badge)](README.ko-kr.md)
35 [![French](https://img.shields.io/badge/Language-French-blueviolet?style=for-the-badge)](README-fr.md) 35 [![French](https://img.shields.io/badge/Language-French-blueviolet?style=for-the-badge)](README-fr.md)
36 [![Japanese](https://img.shields.io/badge/Language-Japanese-blueviolet?style=for-the-badge)](README.ja-JP.md) 36 [![Japanese](https://img.shields.io/badge/Language-Japanese-blueviolet?style=for-the-badge)](README.ja-JP.md)
  37 +[![Turkish](https://img.shields.io/badge/Language-Turkish-blueviolet?style=for-the-badge)](README.tr-TR.md)
37 38
38 39
39 </div> 40 </div>
@@ -34,60 +34,59 @@ @@ -34,60 +34,59 @@
34 [![Korean](https://img.shields.io/badge/Language-Korean-blueviolet?style=for-the-badge)](README.ko-kr.md) 34 [![Korean](https://img.shields.io/badge/Language-Korean-blueviolet?style=for-the-badge)](README.ko-kr.md)
35 [![French](https://img.shields.io/badge/Language-French-blueviolet?style=for-the-badge)](README-fr.md) 35 [![French](https://img.shields.io/badge/Language-French-blueviolet?style=for-the-badge)](README-fr.md)
36 [![Japanese](https://img.shields.io/badge/Language-Japanese-blueviolet?style=for-the-badge)](README.ja-JP.md) 36 [![Japanese](https://img.shields.io/badge/Language-Japanese-blueviolet?style=for-the-badge)](README.ja-JP.md)
37 -[![Japanese](https://img.shields.io/badge/Language-Turkish-blueviolet?style=for-the-badge)](README.tr-TR.md)  
38 - 37 +[![Turkish](https://img.shields.io/badge/Language-Turkish-blueviolet?style=for-the-badge)](README.tr-TR.md)
39 38
40 </div> 39 </div>
41 40
42 -- [Get Hakkında](#about-get)  
43 -- [Kurulum](#installing)  
44 -- [GetX ile Sayaç Uygulaması](#counter-app-with-getx)  
45 -- [Üç Temel Kavram](#the-three-pillars)  
46 - - [State Management (Durum Yönetimi)](#state-management)  
47 - - [Reactive State Manager (Reaktif Durum Yönetimi)](#reactive-state-manager)  
48 - - [State Management Hakkında Daha Fazla Bilgi](#more-details-about-state-management)  
49 - - [Route Management (Rota Yönetimi)](#route-management)  
50 - - [Route Management Hakkında Daha Fazla Bilgi](#more-details-about-route-management)  
51 - - [Dependency Management (Bağımlılık Yönetimi)](#dependency-management)  
52 - - [Dependency Management Hakkında Daha Fazla Bilgi](#more-details-about-dependency-management) 41 +- [Get Hakkında](#get-hakkında)
  42 +- [Kurulum](#kurulum)
  43 +- [GetX ile Sayaç Uygulaması](#getx-ile-sayaç-uygulaması)
  44 +- [Üç Temel Kavram](#üç-temel-kavram)
  45 + - [State Management (Durum Yönetimi)](#state-management-durum-yönetimi)
  46 + - [Reactive State Manager (Reaktif Durum Yönetimi)](#reactive-state-manager-reaktif-durum-yönetimi)
  47 + - [State Management Hakkında Daha Fazla Bilgi](#state-management-hakkında-daha-fazla-bilgi)
  48 + - [Route Management (Rota Yönetimi)](#route-management-rota-yönetimi)
  49 + - [Route Management Hakkında Daha Fazla Bilgi](#route-management-hakkında-daha-fazla-bilgi)
  50 + - [Dependency Management (Bağımlılık Yönetimi)](#dependency-management-bağımlılık-yönetimi)
  51 + - [Dependency Management Hakkında Daha Fazla Bilgi](#dependency-management-hakkında-daha-fazla-bilgi)
53 - [Utils](#utils) 52 - [Utils](#utils)
54 - - [Internationalization (Uluslararasılaştırma)](#internationalization)  
55 - - [Translations (Çeviriler)](#translations)  
56 - - [Translations Kullanımı](#using-translations)  
57 - - [Locales (Yerel Ayarlar)](#locales)  
58 - - [Locale Değiştirme](#change-locale)  
59 - - [System locale (Yerel Sistem Ayarları)](#system-locale)  
60 - - [Tema Değiştirme](#change-theme) 53 + - [Internationalization (Uluslararasılaştırma)](#internationalization-uluslararasılaştırma)
  54 + - [Translations (Çeviriler)](#translations-çeviriler)
  55 + - [Translations Kullanımı](#translations-kullanımı)
  56 + - [Locales (Yerel Ayarlar)](#locales-yerel-ayarlar)
  57 + - [Locale Değiştirme](#locale-değiştirme)
  58 + - [System locale (Yerel Sistem Ayarları)](#system-locale-yerel-sistem-ayarları)
  59 + - [Tema Değiştirme](#tema-değiştirme)
61 - [GetConnect](#getconnect) 60 - [GetConnect](#getconnect)
62 - - [Varsayılan Ayarlar](#default-configuration)  
63 - - [Özel Ayarlarlamalar](#custom-configuration) 61 + - [Varsayılan Ayarlar](#varsayılan-ayarlar)
  62 + - [Özel Ayarlarlamalar](#özel-ayarlamalar)
64 - [GetPage Middleware](#getpage-middleware) 63 - [GetPage Middleware](#getpage-middleware)
65 - - [Priority (Öncelik)](#priority)  
66 - - [Redirect (Yönlendirme)](#redirect) 64 + - [Priority (Öncelik)](#priority-öncelik)
  65 + - [Redirect (Yönlendirme)](#redirect-yönlendirme)
67 - [onPageCalled](#onpagecalled) 66 - [onPageCalled](#onpagecalled)
68 - [OnBindingsStart](#onbindingsstart) 67 - [OnBindingsStart](#onbindingsstart)
69 - [OnPageBuildStart](#onpagebuildstart) 68 - [OnPageBuildStart](#onpagebuildstart)
70 - [OnPageBuilt](#onpagebuilt) 69 - [OnPageBuilt](#onpagebuilt)
71 - [OnPageDispose](#onpagedispose) 70 - [OnPageDispose](#onpagedispose)
72 - - [Advanced APIs (Gelişmiş API'ler)](#other-advanced-apis)  
73 - - [Opsiyonel Genel Ayarlar ve Manuel Ayarlamalar](#optional-global-settings-and-manual-configurations)  
74 - - [Local State Widgets (Yerel Durum Widgetları)](#local-state-widgets) 71 + - [Advanced APIs (Gelişmiş API'ler)](#advanced-apis-gelişmiş-apiler)
  72 + - [Opsiyonel Genel Ayarlar ve Manuel Ayarlamalar](#opsiyonel-genel-ayarlar-ve-manuel-ayarlamalar)
  73 + - [Local State Widgets (Yerel Durum Widgetları)](#local-state-widgets-yerel-durum-widgetları)
75 - [ValueBuilder](#valuebuilder) 74 - [ValueBuilder](#valuebuilder)
76 - [ObxValue](#obxvalue) 75 - [ObxValue](#obxvalue)
77 - - [Faydalı İpuçları](#useful-tips) 76 + - [Faydalı İpuçları](#faydalı-ipuçları)
78 - [GetView](#getview) 77 - [GetView](#getview)
79 - [GetResponsiveView](#getresponsiveview) 78 - [GetResponsiveView](#getresponsiveview)
80 - - [Nasıl Kullanılır?](#how-to-use-it) 79 + - [Nasıl Kullanılır?](#nasıl-kullanılır)
81 - [GetWidget](#getwidget) 80 - [GetWidget](#getwidget)
82 - [GetxService](#getxservice) 81 - [GetxService](#getxservice)
83 -- [2.0 İle Gelen Büyük Değişiklikler](#breaking-changes-from-20)  
84 -- [Neden Getx?](#why-getx)  
85 -- [Topluluk](#community)  
86 - - [Topluluk Kanalları](#community-channels)  
87 - - [Nasıl katkıda bulunulur?](#how-to-contribute)  
88 - - [Makaleler ve videolar](#articles-and-videos) 82 +- [2.0 İle Gelen Büyük Değişiklikler](#20-ile-gelen-büyük-değişiklikler)
  83 +- [Neden Getx?](#neden-getx)
  84 +- [Topluluk](#topluluk)
  85 + - [Topluluk Kanalları](#topluluk-kanalları)
  86 + - [Nasıl katkıda bulunulur?](#nasıl-katkıda-bulunulur)
  87 + - [Makaleler ve Videolar](#makaleler-ve-videolar)
89 88
90 -# About Get 89 +# Get Hakkında
91 90
92 - GetX, Flutter için oldukça basit ve güçlü bir çözüm yoludur. Yüksek performanslı state managment (durum yönetimi), yetenekli dependency injection (bağımlılık enjeksiyonu) ve route management'ı (rota yönetimi) hızlı ve pratik şekilde bir araya getirir. 91 - GetX, Flutter için oldukça basit ve güçlü bir çözüm yoludur. Yüksek performanslı state managment (durum yönetimi), yetenekli dependency injection (bağımlılık enjeksiyonu) ve route management'ı (rota yönetimi) hızlı ve pratik şekilde bir araya getirir.
93 92
@@ -130,7 +129,7 @@ Get’i kullanılacak sayfaya import ediyoruz: @@ -130,7 +129,7 @@ Get’i kullanılacak sayfaya import ediyoruz:
130 import 'package:get/get.dart'; 129 import 'package:get/get.dart';
131 ``` 130 ```
132 131
133 -# GetX İle Sayaç Uygulaması 132 +# GetX ile Sayaç Uygulaması
134 133
135 “Sayaç” projesi yeni bir Flutter projesi oluştururken varsayılan olarak gelir. Yorum satırları ile birlikte toplam 100 satır içerir. Get’in gücünü göstermek gerekirse, size bir “sayaç” uygulamasının her bir tıklamada durumunu değiştirip, sayfalar arasında hareket edip ve bunu yaparken state'leri (durumları) aktarıp aynı zamanda organize bir yol izleyerek business logic'i view'dan ayıracağız ve bu YORUM SATIRLARI DAHİL SADECE 26 SATIR İÇERECEK. 134 “Sayaç” projesi yeni bir Flutter projesi oluştururken varsayılan olarak gelir. Yorum satırları ile birlikte toplam 100 satır içerir. Get’in gücünü göstermek gerekirse, size bir “sayaç” uygulamasının her bir tıklamada durumunu değiştirip, sayfalar arasında hareket edip ve bunu yaparken state'leri (durumları) aktarıp aynı zamanda organize bir yol izleyerek business logic'i view'dan ayıracağız ve bu YORUM SATIRLARI DAHİL SADECE 26 SATIR İÇERECEK.
136 135
@@ -406,7 +405,7 @@ return GetMaterialApp( @@ -406,7 +405,7 @@ return GetMaterialApp(
406 ); 405 );
407 ``` 406 ```
408 407
409 -#### Locale değiştirmek 408 +#### Locale değiştirme
410 409
411 `Get.updateLocale(locale)` çağrılarak locale güncellenebilir. Çeviriler otomatik olarak yeni locale dilinde olacaktır. 410 `Get.updateLocale(locale)` çağrılarak locale güncellenebilir. Çeviriler otomatik olarak yeni locale dilinde olacaktır.
412 411
@@ -832,7 +831,7 @@ ObxValue((data) => Switch( @@ -832,7 +831,7 @@ ObxValue((data) => Switch(
832 ), 831 ),
833 ``` 832 ```
834 833
835 -## Faydalı İpuçları 834 +## Faydalı Ipuçları
836 835
837 `.obs` yapıları olan gözlemlenebilirler ( _Rx_ tipleri olarak da bilinirler) oldukça çeşitli internal metodlara ve operatörlere sahiptirler. 836 `.obs` yapıları olan gözlemlenebilirler ( _Rx_ tipleri olarak da bilinirler) oldukça çeşitli internal metodlara ve operatörlere sahiptirler.
838 837
@@ -1156,7 +1155,7 @@ Test the state of the reactive variable "name" across all of its lifecycles''', @@ -1156,7 +1155,7 @@ Test the state of the reactive variable "name" across all of its lifecycles''',
1156 } 1155 }
1157 ``` 1156 ```
1158 1157
1159 -#### Tips 1158 +#### Ipuçları
1160 1159
1161 ##### Mockito or mocktail 1160 ##### Mockito or mocktail
1162 Eğer GetxController/GetxService'inizi mock yapmaya ihtiyacınız varsa GetxController'dan extend etmeniz ve Mock ile mixin'lemelisiniz. 1161 Eğer GetxController/GetxService'inizi mock yapmaya ihtiyacınız varsa GetxController'dan extend etmeniz ve Mock ile mixin'lemelisiniz.
@@ -1172,7 +1171,7 @@ Eğer widget'ları ya da widget grupllarını test etmek istiyorsanız, testiniz @@ -1172,7 +1171,7 @@ Eğer widget'ları ya da widget grupllarını test etmek istiyorsanız, testiniz
1172 Eğer controller'larınızın içinden navigation kullanmak istiyorsanız. Main'den önce `Get.testMode = true` şeklinde kullanın. 1171 Eğer controller'larınızın içinden navigation kullanmak istiyorsanız. Main'den önce `Get.testMode = true` şeklinde kullanın.
1173 1172
1174 1173
1175 -# 2.0 İle Gelen Büyük Değişiklikler 1174 +# 2.0 Ile Gelen Büyük Değişiklikler
1176 1175
1177 1- Rx Types : 1176 1- Rx Types :
1178 1177
1 # Dependency Management 1 # Dependency Management
2 - [Dependency Management](#dependency-management) 2 - [Dependency Management](#dependency-management)
3 - - [Instancing methods](#instancing-methods) 3 + - [Örnek Metodlar](#instancing-methods)
4 - [Get.put()](#getput) 4 - [Get.put()](#getput)
5 - [Get.lazyPut](#getlazyput) 5 - [Get.lazyPut](#getlazyput)
6 - [Get.putAsync](#getputasync) 6 - [Get.putAsync](#getputasync)
7 - [Get.create](#getcreate) 7 - [Get.create](#getcreate)
8 - - [Using instantiated methods/classes](#using-instantiated-methodsclasses)  
9 - - [Specifying an alternate instance](#specifying-an-alternate-instance)  
10 - - [Differences between methods](#differences-between-methods) 8 + - [Metodların/Sınıfların örneklerinin kullanılması](#using-instantiated-methodsclasses)
  9 + - [Alternatif bir instance tanımlama](#specifying-an-alternate-instance)
  10 + - [Metodlar arasındaki farklılıklar](#differences-between-methods)
11 - [Bindings](#bindings) 11 - [Bindings](#bindings)
12 - [Bindings class](#bindings-class) 12 - [Bindings class](#bindings-class)
13 - [BindingsBuilder](#bindingsbuilder) 13 - [BindingsBuilder](#bindingsbuilder)
14 - [SmartManagement](#smartmanagement) 14 - [SmartManagement](#smartmanagement)
15 - - [How to change](#how-to-change) 15 + - [Nasıl değiştirilir?](#how-to-change)
16 - [SmartManagement.full](#smartmanagementfull) 16 - [SmartManagement.full](#smartmanagementfull)
17 - [SmartManagement.onlyBuilder](#smartmanagementonlybuilder) 17 - [SmartManagement.onlyBuilder](#smartmanagementonlybuilder)
18 - [SmartManagement.keepFactory](#smartmanagementkeepfactory) 18 - [SmartManagement.keepFactory](#smartmanagementkeepfactory)
19 - - [How bindings work under the hood](#how-bindings-work-under-the-hood)  
20 - - [Notes](#notes) 19 + - [Nasıl bindings yapılır?](#how-bindings-work-under-the-hood)
  20 + - [Notlar](#notes)
21 21
22 Get, yalnızca 1 satır kodla, Provider context'i olmadan, inheritedWidget olmadan Bloc veya Controller ile aynı sınıfı almanızı sağlayan basit ve güçlü bir dependency manager'a (bağımlılık yöneticisine) sahiptir: 22 Get, yalnızca 1 satır kodla, Provider context'i olmadan, inheritedWidget olmadan Bloc veya Controller ile aynı sınıfı almanızı sağlayan basit ve güçlü bir dependency manager'a (bağımlılık yöneticisine) sahiptir:
23 23
@@ -31,7 +31,7 @@ Böylece denetleyicinizi (veya Bloc sınıfını) normal şekilde kullanabilirsi @@ -31,7 +31,7 @@ Böylece denetleyicinizi (veya Bloc sınıfını) normal şekilde kullanabilirsi
31 - Not: Get's State Manager kullanıyorsanız, view'e controller'ı bağlamayı kolaylaştıracak olan [Bindings](#bindings) API'sine daha fazla dikkat edin. 31 - Not: Get's State Manager kullanıyorsanız, view'e controller'ı bağlamayı kolaylaştıracak olan [Bindings](#bindings) API'sine daha fazla dikkat edin.
32 - Not²: Get dependency management (bağımlılık yönetimi) paketin diğer bölümlerinden ayrılmıştır, bu nedenle örneğin uygulamanız zaten bir state manager (durum yöneticisi) kullanıyorsa (herhangi biri, önemli değil), bunu değiştirmeniz gerekmez, dependency injection (bağımlılık enjeksiyonunu) kullanabilirsiniz. 32 - Not²: Get dependency management (bağımlılık yönetimi) paketin diğer bölümlerinden ayrılmıştır, bu nedenle örneğin uygulamanız zaten bir state manager (durum yöneticisi) kullanıyorsa (herhangi biri, önemli değil), bunu değiştirmeniz gerekmez, dependency injection (bağımlılık enjeksiyonunu) kullanabilirsiniz.
33 33
34 -## Instancing methods 34 +## Örnek metodlar
35 Metodlar ve configurable parameters (yapılandırılabilir parametreleri) şunlardır: 35 Metodlar ve configurable parameters (yapılandırılabilir parametreleri) şunlardır:
36 36
37 ### Get.put() 37 ### Get.put()
@@ -173,7 +173,7 @@ Get.create<S>( @@ -173,7 +173,7 @@ Get.create<S>(
173 bool permanent = true 173 bool permanent = true
174 ``` 174 ```
175 175
176 -## Using instantiated methods/classes 176 +## Metodların/Sınıfların örneklerinin kullanılması
177 177
178 Çok sayıda rotada gezindiğinizi ve kontrol cihazınızda geride bırakılan bir veriye ihtiyacınız olduğunu hayal edin, Sağlayıcı veya Get_it ile birleştirilmiş bir durum yöneticisine ihtiyacınız olacak, değil mi? Get ile değil. Denetleyiciniz için "find" seçeneğini sormanız yeterlidir, herhangi bir ek bağımlılığa ihtiyacınız yoktur: 178 Çok sayıda rotada gezindiğinizi ve kontrol cihazınızda geride bırakılan bir veriye ihtiyacınız olduğunu hayal edin, Sağlayıcı veya Get_it ile birleştirilmiş bir durum yöneticisine ihtiyacınız olacak, değil mi? Get ile değil. Denetleyiciniz için "find" seçeneğini sormanız yeterlidir, herhangi bir ek bağımlılığa ihtiyacınız yoktur:
179 179
@@ -204,7 +204,7 @@ Get örneğini kaldırmak için: @@ -204,7 +204,7 @@ Get örneğini kaldırmak için:
204 Get.delete<Controller>(); //genellikle bunu yapmanız gerekmez çünkü GetX kullanılmayan controller'ları(denetleyicileri) zaten siler 204 Get.delete<Controller>(); //genellikle bunu yapmanız gerekmez çünkü GetX kullanılmayan controller'ları(denetleyicileri) zaten siler
205 ``` 205 ```
206 206
207 -## Specifying an alternate instance 207 +## Alternatif bir instance tanımlama
208 208
209 Şu anda eklenen bir örnek, `replace` veya `lazyReplace` yöntemi kullanılarak benzer veya genişletilmiş bir sınıf örneğiyle değiştirilebilir. Bu daha sonra özgün sınıf kullanılarak alınabilir. 209 Şu anda eklenen bir örnek, `replace` veya `lazyReplace` yöntemi kullanılarak benzer veya genişletilmiş bir sınıf örneğiyle değiştirilebilir. Bu daha sonra özgün sınıf kullanılarak alınabilir.
210 210
@@ -233,7 +233,7 @@ print(instance is ChildClass); // false @@ -233,7 +233,7 @@ print(instance is ChildClass); // false
233 print(instance is OtherClass); //true 233 print(instance is OtherClass); //true
234 ``` 234 ```
235 235
236 -## Differences between methods 236 +## Metodlar arasındaki farklılıklar
237 237
238 İlk olarak Get.lazyPut'un `fenix`i ve diğer yöntemlerin `permanent`'larından bahsedelim. 238 İlk olarak Get.lazyPut'un `fenix`i ve diğer yöntemlerin `permanent`'larından bahsedelim.
239 239
@@ -366,7 +366,7 @@ GetX, bir hata oluşsa ve onu kullanan bir pencere öğesi düzgün şekilde at @@ -366,7 +366,7 @@ GetX, bir hata oluşsa ve onu kullanan bir pencere öğesi düzgün şekilde at
366 Bu, `full` dependency management(bağımlılık yönetimi) modu olarak adlandırılan şeydir. 366 Bu, `full` dependency management(bağımlılık yönetimi) modu olarak adlandırılan şeydir.
367 Ancak GetX'in sınıfların imhasını kontrol etme şeklini değiştirmek istiyorsanız, farklı davranışlar ayarlayabileceğiniz `SmartManagement` sınıfınız var. 367 Ancak GetX'in sınıfların imhasını kontrol etme şeklini değiştirmek istiyorsanız, farklı davranışlar ayarlayabileceğiniz `SmartManagement` sınıfınız var.
368 368
369 -#### How to change 369 +#### Nasıl değiştirilir?
370 370
371 Bu yapılandırmayı (genellikle ihtiyacınız olmayan) şekilde değiştirmek istiyorsanız: 371 Bu yapılandırmayı (genellikle ihtiyacınız olmayan) şekilde değiştirmek istiyorsanız:
372 372
@@ -396,7 +396,7 @@ Varsayılan davranışla, SmartManagement.onlyBuilder'ın aksine "Get.put" ile @@ -396,7 +396,7 @@ Varsayılan davranışla, SmartManagement.onlyBuilder'ın aksine "Get.put" ile
396 396
397 SmartManagement.full gibi, artık kullanılmadığında bağımlılıklarını kaldıracaktır. Ancak, factory'leri koruyacak, yani bu örneğe tekrar ihtiyacınız olursa dependency(bağımlılığı) yeniden yaratacaktır. 397 SmartManagement.full gibi, artık kullanılmadığında bağımlılıklarını kaldıracaktır. Ancak, factory'leri koruyacak, yani bu örneğe tekrar ihtiyacınız olursa dependency(bağımlılığı) yeniden yaratacaktır.
398 398
399 -### How bindings work under the hood 399 +### Nasıl bindings yapılır?
400 Bindings, başka bir ekrana gitmek için tıkladığınız anda oluşturulan geçici factory'ler oluşturur ve ekran değişirken animasyon gerçekleşir gerçekleşmez yok edilir. 400 Bindings, başka bir ekrana gitmek için tıkladığınız anda oluşturulan geçici factory'ler oluşturur ve ekran değişirken animasyon gerçekleşir gerçekleşmez yok edilir.
401 Bu o kadar hızlı gerçekleşir ki analyzer onu kaydedemez bile. 401 Bu o kadar hızlı gerçekleşir ki analyzer onu kaydedemez bile.
402 Bu ekrana tekrar gittiğinizde, yeni bir geçici factory çağrılır, bu nedenle SmartManagement.keepFactory kullanmak yerine bu tercih edilir, ancak Bindings oluşturmak istemiyorsanız veya tüm bağımlılıklarınızı aynı Binding üzerinde tutmak istiyorsanız, mutlaka size yardımcı olacaktır. 402 Bu ekrana tekrar gittiğinizde, yeni bir geçici factory çağrılır, bu nedenle SmartManagement.keepFactory kullanmak yerine bu tercih edilir, ancak Bindings oluşturmak istemiyorsanız veya tüm bağımlılıklarınızı aynı Binding üzerinde tutmak istiyorsanız, mutlaka size yardımcı olacaktır.
@@ -404,7 +404,7 @@ Factory'ler çok az bellek kaplarlar, örnekleri tutmazlar, ancak istediğiniz s @@ -404,7 +404,7 @@ Factory'ler çok az bellek kaplarlar, örnekleri tutmazlar, ancak istediğiniz s
404 Bunun bellekte maliyeti çok düşüktür, ancak bu kitaplığın amacı, minimum kaynakları kullanarak mümkün olan maksimum performansı elde etmek olduğundan, Get factory bile varsayılan olarak kaldırır. 404 Bunun bellekte maliyeti çok düşüktür, ancak bu kitaplığın amacı, minimum kaynakları kullanarak mümkün olan maksimum performansı elde etmek olduğundan, Get factory bile varsayılan olarak kaldırır.
405 Hangisi sizin için daha uygunsa onu kullanın. 405 Hangisi sizin için daha uygunsa onu kullanın.
406 406
407 -## Notes 407 +## Notlar
408 408
409 - Birden çok Bindings kullanıyorsanız SmartManagement.keepFactory KULLANMAYIN. Bindings olmadan veya GetMaterialApp'in initialBinding'inde bağlantılı tek bir Binding ile kullanılmak üzere tasarlanmıştır. 409 - Birden çok Bindings kullanıyorsanız SmartManagement.keepFactory KULLANMAYIN. Bindings olmadan veya GetMaterialApp'in initialBinding'inde bağlantılı tek bir Binding ile kullanılmak üzere tasarlanmıştır.
410 410
@@ -102,7 +102,7 @@ navigator.push( @@ -102,7 +102,7 @@ navigator.push(
102 ), 102 ),
103 ); 103 );
104 104
105 -// Get syntax (It is much better, but you have the right to disagree) 105 +// Get syntax (Bu kullanım çok daha iyidir. Tabiki siz karşı çıkma hakkına sahipsiniz.)
106 Get.to(HomePage()); 106 Get.to(HomePage());
107 107
108 108
@@ -90,7 +90,7 @@ Obx (() => Text (controller.name)); @@ -90,7 +90,7 @@ Obx (() => Text (controller.name));
90 90
91 _Ezberlemek için neye ihtiyacın var?_Sadece `Obx(() =>` . 91 _Ezberlemek için neye ihtiyacın var?_Sadece `Obx(() =>` .
92 92
93 -You are just passing that Widget through an arrow-function into an `Obx()` (the "Observer" of the _Rx_). 93 +
94 Bu Widget'ı bir ok işlevinden bir 'Obx()' (_Rx_'in "Observable") içine geçiriyorsunuz. 94 Bu Widget'ı bir ok işlevinden bir 'Obx()' (_Rx_'in "Observable") içine geçiriyorsunuz.
95 95
96 `Obx` oldukça akıllıdır ve yalnızca `controller.name`nin değeri değiştiğinde değişecektir. 96 `Obx` oldukça akıllıdır ve yalnızca `controller.name`nin değeri değiştiğinde değişecektir.
@@ -111,7 +111,7 @@ Bu nedenle, **GetX** yalnızca _Rx_ değişkeni değerini değiştirdiğinde ekr @@ -111,7 +111,7 @@ Bu nedenle, **GetX** yalnızca _Rx_ değişkeni değerini değiştirdiğinde ekr
111 111
112 final isOpen = false.obs; 112 final isOpen = false.obs;
113 113
114 -// NOTHING will happen... same value. 114 +// Hiçbir şey olmadı. Işte aynı değer.
115 void onButtonTap() => isOpen.value=false; 115 void onButtonTap() => isOpen.value=false;
116 ``` 116 ```
117 117
@@ -351,11 +351,11 @@ Ayrıca listelerde ".value" kullanmanıza gerek yok, harika dart api'ları bunu @@ -351,11 +351,11 @@ Ayrıca listelerde ".value" kullanmanıza gerek yok, harika dart api'ları bunu
351 Ne yazık ki, String ve int gibi ilkel türler genişletilemez, bu da kullanımını sağlar.Değer zorunludur, ancak bunlar için get ve setter'larla çalışıyorsanız bu bir sorun olmayacaktır. 351 Ne yazık ki, String ve int gibi ilkel türler genişletilemez, bu da kullanımını sağlar.Değer zorunludur, ancak bunlar için get ve setter'larla çalışıyorsanız bu bir sorun olmayacaktır.
352 352
353 ``` dart 353 ``` dart
354 -// On the controller 354 +// controller içinde
355 final String title = 'User Info:'.obs 355 final String title = 'User Info:'.obs
356 final list = List<User>().obs; 356 final list = List<User>().obs;
357 357
358 -// on the view 358 +// view içinde
359 Text(controller.title.value), // .value olması gerekir 359 Text(controller.title.value), // .value olması gerekir
360 ListView.builder ( 360 ListView.builder (
361 itemCount: controller.list.length // listelerin buna ihtiyacı yok 361 itemCount: controller.list.length // listelerin buna ihtiyacı yok
@@ -383,7 +383,7 @@ user.age = 18; @@ -383,7 +383,7 @@ user.age = 18;
383 // user değişkenini güncellemenin alternatif bir yolu: 383 // user değişkenini güncellemenin alternatif bir yolu:
384 user(User(name: 'João', age: 35)); 384 user(User(name: 'João', age: 35));
385 385
386 -// on view: 386 +// view içinde:
387 Obx(()=> Text("Name ${user.value.name}: Age: ${user.value.age}")) 387 Obx(()=> Text("Name ${user.value.name}: Age: ${user.value.age}"))
388 // model değerlerine .value olmadan da erişebilirsiniz: 388 // model değerlerine .value olmadan da erişebilirsiniz:
389 user().name; 389 user().name;
@@ -404,8 +404,6 @@ Bu kitaplığın toplam ağırlığı, eksiksiz bir çözüm olmasına rağmen t @@ -404,8 +404,6 @@ Bu kitaplığın toplam ağırlığı, eksiksiz bir çözüm olmasına rağmen t
404 404
405 Eğer `.value` dan rahatsızsanız MobX harika bir alternatiftir ve Get ile birlikte kullanabilirsiniz. 405 Eğer `.value` dan rahatsızsanız MobX harika bir alternatiftir ve Get ile birlikte kullanabilirsiniz.
406 406
407 -If you have no problem with the MobX code generator, or have no problem with the BLoC boilerplate, you can simply use Get for routes, and forget that it has state manager. Get SEM and RSM were born out of necessity, my company had a project with more than 90 controllers, and the code generator simply took more than 30 minutes to complete its tasks after a Flutter Clean on a reasonably good machine, if your project it has 5, 10, 15 controllers, any state manager will supply you well. If you have an absurdly large project, and code generator is a problem for you, you have been awarded this solution.  
408 -  
409 MobX code generator ile bir sorununuz yoksa veya BLoC ilgili bir sorununuz yoksa Get ile route'u kullanabilirsiniz. Get SEM ve RSM ile doğdu, şirketimin 90'dan fazla controller'a sahip bir projesi var.Büyük bir projeniz varsa, oldukça iyi bir makinede bir Flutter Clean'den sonra görevlerini tamamlaması 30 dakikadan fazla sürdü. 5, 10, 15 controller, herhangi bir state manager size yardımcı olacaktır. Büyük bir projeniz varsa ve code generator sizin için bir sorunsa, bu çözüm size verildi. 407 MobX code generator ile bir sorununuz yoksa veya BLoC ilgili bir sorununuz yoksa Get ile route'u kullanabilirsiniz. Get SEM ve RSM ile doğdu, şirketimin 90'dan fazla controller'a sahip bir projesi var.Büyük bir projeniz varsa, oldukça iyi bir makinede bir Flutter Clean'den sonra görevlerini tamamlaması 30 dakikadan fazla sürdü. 5, 10, 15 controller, herhangi bir state manager size yardımcı olacaktır. Büyük bir projeniz varsa ve code generator sizin için bir sorunsa, bu çözüm size verildi.
410 408
411 Açıkçası, birisi projeye katkıda bulunmak ve bir code generator veya benzeri bir şey oluşturmak istiyorsa, bunu readme'de alternatif olarak bağlantı ekleyeceğim, şimdilik diyorum ki, bunu zaten yapan iyi çözümler var, MobX gibi. 409 Açıkçası, birisi projeye katkıda bulunmak ve bir code generator veya benzeri bir şey oluşturmak istiyorsa, bunu readme'de alternatif olarak bağlantı ekleyeceğim, şimdilik diyorum ki, bunu zaten yapan iyi çözümler var, MobX gibi.
@@ -502,12 +500,12 @@ class Controller extends GetxController { @@ -502,12 +500,12 @@ class Controller extends GetxController {
502 } 500 }
503 // Stateless/Stateful sınıfınızda, artış çağrıldığında Metni güncellemek için Get Builder'ı kullanın 501 // Stateless/Stateful sınıfınızda, artış çağrıldığında Metni güncellemek için Get Builder'ı kullanın
504 GetBuilder<Controller>( 502 GetBuilder<Controller>(
505 - init: Controller(), // INIT IT ONLY THE FIRST TIME 503 + init: Controller(), // SADECE ILK SEFERINDE "INIT" YAPIN
506 builder: (_) => Text( 504 builder: (_) => Text(
507 '${_.counter}', 505 '${_.counter}',
508 ), 506 ),
509 ) 507 )
510 -//Initialize your controller only the first time. The second time you are using ReBuilder for the same controller, do not use it again. Your controller will be automatically removed from memory as soon as the widget that marked it as 'init' is deployed. You don't have to worry about that, Get will do it automatically, just make sure you don't start the same controller twice. 508 +//Controller'ı sadece ilk seferinde "initialize" edin. Aynı controller için ikinci defa ReBuilder kullandıysanız, bunu bir daha yapmayın. Controller, widget içinde "init" işlemi gerçekleştikten sonra otomatik olarak hafızadan kaldırılacaktır. Bunun için endişelenmenize gerek yoktur, Get bunu otomatik olarak yapacaktır. Sadece aynı controller'ı birden fazla kez başlatmadığınıza emin olun yeter.
511 ``` 509 ```
512 510
513 **Tamamlandı!** 511 **Tamamlandı!**
@@ -669,7 +667,7 @@ class Controller extends GetxController { @@ -669,7 +667,7 @@ class Controller extends GetxController {
669 // static Controller get to => Get.find(); // static olmadan 667 // static Controller get to => Get.find(); // static olmadan
670 [...] 668 [...]
671 } 669 }
672 -// on stateful/stateless class 670 +// stateful/stateless class içinde
673 GetBuilder<Controller>( 671 GetBuilder<Controller>(
674 init: Controller(), // Her controller'ı bir kez kullanın 672 init: Controller(), // Her controller'ı bir kez kullanın
675 builder: (_) => Text( 673 builder: (_) => Text(
@@ -728,10 +726,6 @@ GetxController'ı extends etmek önemlidir, çünkü yaşam döngüleri vardır @@ -728,10 +726,6 @@ GetxController'ı extends etmek önemlidir, çünkü yaşam döngüleri vardır
728 726
729 ## StateMixin 727 ## StateMixin
730 728
731 -Another way to handle your `UI` state is use the `StateMixin<T>` .  
732 -To implement it, use the `with` to add the `StateMixin<T>`  
733 -to your controller which allows a T model.  
734 -  
735 `UI` state'ini ele almanın başka bir yolu da `StateMixin<T>` kullanmaktır. 729 `UI` state'ini ele almanın başka bir yolu da `StateMixin<T>` kullanmaktır.
736 Bunu uygulamak için, `StateMixin<T>` ile `with`i kullanın. 730 Bunu uygulamak için, `StateMixin<T>` ile `with`i kullanın.
737 bir controller'a T modelinizi ekleyin. 731 bir controller'a T modelinizi ekleyin.
@@ -740,9 +734,6 @@ bir controller'a T modelinizi ekleyin. @@ -740,9 +734,6 @@ bir controller'a T modelinizi ekleyin.
740 class Controller extends GetController with StateMixin<User>{} 734 class Controller extends GetController with StateMixin<User>{}
741 ``` 735 ```
742 736
743 -The `change()` method change the State whenever we want.  
744 -Just pass the data and the status in this way:  
745 -  
746 `change()` yöntemi istediğimiz zaman State'i değiştirir. 737 `change()` yöntemi istediğimiz zaman State'i değiştirir.
747 Sadece verileri ve state'i bu şekilde iletin: 738 Sadece verileri ve state'i bu şekilde iletin:
748 739