Showing
5 changed files
with
64 additions
and
73 deletions
@@ -34,6 +34,7 @@ | @@ -34,6 +34,7 @@ | ||
34 | [](README.ko-kr.md) | 34 | [](README.ko-kr.md) |
35 | [](README-fr.md) | 35 | [](README-fr.md) |
36 | [](README.ja-JP.md) | 36 | [](README.ja-JP.md) |
37 | +[](README.tr-TR.md) | ||
37 | 38 | ||
38 | 39 | ||
39 | </div> | 40 | </div> |
@@ -34,60 +34,59 @@ | @@ -34,60 +34,59 @@ | ||
34 | [](README.ko-kr.md) | 34 | [](README.ko-kr.md) |
35 | [](README-fr.md) | 35 | [](README-fr.md) |
36 | [](README.ja-JP.md) | 36 | [](README.ja-JP.md) |
37 | -[](README.tr-TR.md) | ||
38 | - | 37 | +[](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 |
-
Please register or login to post a comment