HTML5 web depolama mekanizmaları, web sayfalarında veri depolama alanı sağlayan bir teknoloji grubudur Local Storage ve Session Storage olmak üzere iki depolama alanı bulunur Local Storage, ömür boyu kullanıma açık bir depolama alanıdır ve 5 MB boyutunda veri saklayabilir Session Storage ise yalnızca kullanıcı oturumları süresince kullanılabilen bir depolama alanıdır HTML5 web depolama mekanizmaları, tarayıcıda kullanıcı verilerinin depolanması ve yerel uygulamaların veri depolama alanı sağlanması gibi birçok farklı alanlarda kullanılabilir AsyncStorage, LocalStorage ve SessionStorage, React Native uygulamalarında da kullanılabilmektedir Kullanıcı deneyimini kolaylaştırarak, web sayfalarının daha hızlı yüklenmesine yardımcı olurlar

HTML5 web depolama mekanizmaları, web sayfalarında veri depolama alanı sağlayan bir dizi teknolojidir. Bu teknolojiler, web tarayıcısında kullanıcı verilerinin depolanması ve aynı zamanda yerel uygulamaların veri depolama alanı sağlanması gibi birçok farklı alanlarda kullanılabilir. HTML5 web depolama mekanizmaları, web sitesi geliştiricilerine kullanıcı verileri oluşturma, kaydetme ve tutma konularında büyük bir esneklik sağlar.
HTML5 Web Storage'da iki depolama alanı bulunmaktadır: Local Storage ve Session Storage. Local Storage, sitenin ömür boyu kullanılabilen bir depolama alanıdır. Session Storage ise yalnızca kullanıcı oturumları süresince kullanılabilen bir depolama alanıdır.
Karakteristik | Local Storage | Session Storage |
---|---|---|
Kullanım Alanı | Tüm sitelerde kalıcı depolama alanı | Sadece tek bir oturum sırasında kullanılabilir |
Boyut Limiti | 5 MB | 5-10 MB |
Veri Saklama Süresi | Veri ömür boyu saklanır | Yalnızca oturum süresince saklanır |
Erişim | Tüm sayfalardan erişilebilir | Sadece tek bir oturumda erişilebilir |
- Local Storage, kullanıcıya bir depolama alanı sağlar ve veri boyutu 5 MB'a kadar kaydedilebilir.
- Session Storage ise sadece oturum süresince kullanıma açık bir depolama alanıdır. Kullanıcı oturumu sona erdiğinde, tüm veriler otomatik olarak silinir. Bu depolama türü, uygulama oturumları arasında geçici veri saklamak için kullanılabilir.
- HTML5 Web Storage, verilerinizi tarayıcı içinde depolamanıza olanak tanıyan kolay ve güvenli bir yöntem sunar. Bu teknoloji, internet tabanlı uygulamaların verilerini saklamak için esnek bir yoldur.
Local Storage Nedir?
HTML5 web depolama mekanizmaları arasında yer alan Local Storage, tarayıcıda kullanıcı verilerinin depolanması için kullanılır. Bu özellik sayesinde tarayıcıda saklanan veriler, sayfa yenilendiğinde de kaybolmaz. Bu da kullanıcının girdiği verileri, sayfanın kapanması veya yenilenmesi gibi durumlarda kaybetmesinin önüne geçer.
Local Storage kullanırken dikkat edilmesi gereken bazı noktalar vardır. Öncelikle, veri depolama alanı 5-10 MB olarak sınırlıdır. Bu nedenle, çok sayıda veri depolamak yerine verileri düzenli olarak silmek daha sağlıklı olacaktır. Ayrıca, Local Storage sadece aynı tarayıcıda kullanılabilir. Farklı bir tarayıcıda açılan sayfada depolanan veriler dahi kaybolacaktır.
Özellik | Açıklama |
---|---|
setItem() | Local Storage'a yeni bir anahtar-değer çifti eklemek için kullanılır |
getItem() | Bir anahtar-değer çiftini Local Storage'dan almak için kullanılır |
removeItem() | Bir anahtar-değer çiftini Local Storage'dan silmek için kullanılır |
- setItem() yöntemi kullanılırken, depolanacak verinin türü ne olursa olsun, her zaman bir dize türünde depolanacaktır.
- getItem() yöntemi kullanılırken, alınan veri de her zaman bir dize türünde olacaktır. Bu nedenle, verinin orijinal türüne dönüştürme işlemi yapılmalıdır.
- removeItem() yöntemi kullanılarak bir veri silinirken, anahtar-değer çiftinin tamamı silinecektir.
Özetle, Local Storage, kullanıcının tarayıcıda depoladığı verilerin kaybolmamasını sağlayan ve HTML5 web depolama mekanizmaları arasında yer alan bir özelliktir. Ancak, sınırlı depolama alanına dikkat edilmesi ve tarayıcı değiştiğinde verilerin kaybolacağı unutulmamalıdır.
Session Storage Nedir?
HTML5 web depolama mekanizmalarından biri de Session Storage'dır. Bu mekanizma, tarayıcı sekmesi açık olduğu sürece verileri saklamak için kullanılır ve tarayıcı sekmesi kapatıldığında veriler otomatik olarak silinir. Session Storage'un en büyük avantajı, verilerin kullanıcıya özgü bir şekilde, yani sadece o kullanıcının o tarayıcı sekmesi için saklanmasıdır. Bu nedenle, bir kullanıcının farklı sekmede açtığı web sayfaları birbirinden bağımsız olarak tutulabilir.
Session Storage, Local Storage ile benzer özelliklere sahiptir. Ancak, Local Storage'da veriler her zaman depolanırken, Session Storage verileri sadece tarayıcı sekmesi açık olduğu sürece saklar. Veriler, anahtar-değer çiftleri olarak depolanır ve kullanıcıya özgü bir şekilde her sayfa için yeniden yüklenir. Bu nedenle, her seferinde sıfırdan veri yüklemek yerine, kaydedilen veriler Session Storage'da saklanır ve sayfa yenilendiğinde bu veriler tekrar yüklenir.
Bir örnekle açıklamak gerekirse, bir kullanıcının bir alışveriş sepeti tutması durumunda, kullanıcının her sayfada sepeti tekrar tekrar oluşturması yerine, bu sepet Session Storage'da saklanır ve her sayfa yenilendiğinde sepet otomatik olarak yüklenir. Bu yöntem, kullanıcı deneyimini kolaylaştırır ve web sayfalarının daha hızlı yüklenmesine yardımcı olur.
React Native ile web depolama mekanizmaları kullanmak oldukça kolay ve etkilidir. Bu mekanizmalar, AsyncStorage, LocalStorage ve SessionStorage olarak kullanılabilmektedir.
AsyncStorage, React Native uygulamalarında verileri depolamak için kullanılan bir web depolama mekanizmasıdır. Bu mekanizma sayesinde veriler cihazda saklanabilir ve uygulama kapandığı zaman bile veriler kaybolmaz. AsyncStorage ile veri saklamak oldukça basittir. Veri kaydı yapıldığında, veri anahtar/set çifti şeklinde tutulur ve SQLite veritabanı gibi bir veri deposunda tutulur. Veri çekme işlemi ise anahtarı kullanarak gerçekleştirilir.
Öte yandan, LocalStorage ve SessionStorage da web depolama mekanizmalarıdır ve React Native uygulamalarında kullanılabilirler. LocalStorage, kullanıcı bilgileri gibi verileri cihazda güvenli bir şekilde saklamak için kullanılan bir mekanizmadır. SessionStorage ise oturum bilgileri gibi geçici verileri cihazda saklar. LocalStorage ve SessionStorage, AsyncStorage kadar veri depolama alanına sahip değillerdir ve sadece String verileri saklayabilirler.
Depolama Mekanizması | Veri Saklama Alanı | Veri Türü |
---|---|---|
AsyncStorage | Cihazda | Tüm veri türleri |
LocalStorage | Cihazda | String |
SessionStorage | Cihazda | String |
React Native uygulamalarında web depolama mekanizmalarını kullanmak oldukça kolaydır. Uygulama içinde öncelikle AsyncStorage, LocalStorage veya SessionStorage'ın kullanılacak olduğu belirtilir. Daha sonra, veri kaydı yapılır veya kaydedilen veri çekilir. Bu işlemler için örnek kodlar aşağıda yer almaktadır.
AsyncStorage ile Veri Kaydetme:
AsyncStorage.setItem('anahtar', 'değer');
AsyncStorage ile Veri Çekme:
AsyncStorage.getItem('anahtar') .then((data) => { console.log(data); }) .catch((error) => { console.log(error); });
React Native uygulamalarında web depolama mekanizmaları kullanımı oldukça yaygındır. Ancak, bu mekanizmaların kullanımı sırasında bazı limitlerle karşılaşılabilir. Bu limitlere örnekle açıklama yapılmıştır:
- AsyncStorage depolama alanı sayısı sınırlıdır.
- LocalStorage ve SessionStorage, yalnızca String verilerini saklayabilir.
- Web depolama mekanizmaları, uygulama verilerini cihaz dışında başka bir yere aktaramaz.
React Native uygulamalarında web depolama mekanizmaları kullanmak oldukça önemlidir. Bu mekanizmalar sayesinde veriler cihazda güvenli bir şekilde saklanabilir ve uygulama kapandığında bile veriler kaybolmaz.
AsyncStorage Nedir?
AsyncStorage, React Native ile birlikte kullanabileceğiniz bir yerel depolama sistemidir. Bu sistem, web'a benzer şekilde çalışır ve verileri ana bellek dışında saklamaya yarar. Ancak AsyncStorage, web depolama sisteminden farklı olarak, Asenkron bir yapıya sahiptir ve veri kaydetme işlemlerinin başarılı bir şekilde tamamlanmasını beklemek zorunda kalmaz.
AsyncStorage kullanarak uygulamanızda yerel veri depolama işlemlerini gerçekleştirebilirsiniz. Bu sayede, internet bağlantısı olmadığında bile uygulamanızın kullandığı verileri cihazda saklayabilirsiniz. Ayrıca, verileri cihazda saklayarak kullanıcıların daha hızlı ve akıcı bir uygulama deneyimi yaşamasını sağlayabilirsiniz.
AsyncStorage kullanımı oldukça basittir. İlk olarak, AsyncStorage kütüphanesini projenize dahil etmeniz gerekir. Daha sonra, AsyncStorage ile veri kaydedip çekmek için kullanabileceğiniz bir dizi işlev bulunur. Örneğin, veri kaydetmek için 'setItem()' işlevini, veri çekmek için ise 'getItem()' işlevini kullanabilirsiniz.
AsyncStorage ayrıca, verilerinizi anahtar-değer çiftleri şeklinde saklayarak daha iyi bir organizasyon yapmanızı sağlar. Böylece, verilerinizi daha kolay bir şekilde bulabilir ve yönetebilirsiniz.
Ancak, AsyncStorage'nin de bazı limitleri bulunmaktadır. En önemli limiti, cihaz hafızasının dolmasıdır. Bu nedenle, verilerinizi düzenli olarak temizlemeli ve gereksiz verileri silmelisiniz.
AsyncStorage, React Native uygulamaları geliştirirken kullanabileceğiniz önemli bir yerel depolama sistemidir. Doğru kullanıldığında, uygulamanızın performansını artırabilir ve kullanıcıların daha iyi bir deneyim yaşamasını sağlayabilirsiniz.
AsyncStorage Kullanımı
AsyncStorage React Native'deki yerel depolama mekanizmalarından biridir. AsyncStorage kullanarak uygulamalarınızda veri depolayabilir ve çekebilirsiniz. AsyncStorage ile kullanabileceğiniz bazı yöntemler şunlardır:
1. setItem(): AsyncStorage'a veri eklemek için kullanılır. Örnek kullanımı aşağıdaki gibidir:
AsyncStorage.setItem('key', 'value') .then(() => console.log('Veri başarıyla kaydedildi')) .catch((error) => console.error('Veri kaydedilemedi', error));
2. getItem(): AsyncStorage'de depolanan veriyi çekmek için kullanılır. Örnek kullanımı aşağıdaki gibidir:
AsyncStorage.getItem('key') .then((value) => console.log(value)) .catch((error) => console.error('Veri çekilemedi', error));
3. removeItem(): AsyncStorage'den veri silmek için kullanılır. Örnek kullanımı aşağıdaki gibidir:
AsyncStorage.removeItem('key') .then(() => console.log('Veri başarıyla silindi')) .catch((error) => console.error('Veri silinemedi', error));
4. getAllKeys(): AsyncStorage'de kayıtlı tüm anahtarları almak için kullanılır. Örnek kullanımı aşağıdaki gibidir:
AsyncStorage.getAllKeys() .then((keys) => console.log(keys)) .catch((error) => console.error('Anahtarlar alınamadı', error));
Örneklerde gördüğünüz gibi, AsyncStorage ile veri depolamak ve çekmek oldukça kolaydır. Depolama yapılandırmasını optimize etmek için veri yapılarınızı JSON formatında kaydedebilirsiniz. AsyncStorage'in depolama limitleri bulunmaktadır, bu nedenle çok büyük verileri kaydetmek önerilmemektedir. Ancak, verimli bir şekilde kullanıldığında, AsyncStorage uygulamanız için kullanışlı bir araç haline gelebilir.
Veri kaydetmek
Veri kaydetmek, AsyncStorage kullanmanın en önemli özelliklerinden biridir. AsyncStorage ile veri kaydederken öncelikle bir anahtar ve değer çifti kullanmanız gerekmektedir. Bu anahtar ve değer çifti, daha sonra verileri erişmek için kullanacağınız adres gibidir.
Örneğin, kullanıcıların adını ve yaşı kaydetmek istediğinizi varsayalım. Bunun için öncelikle bu verileri almanız gerekmektedir. Daha sonra AsyncStorage ile kaydedilecek olan anahtar ve değer çiftlerinde 'ad' ve 'yaş' verilerini kullanabilirsiniz.
Aşağıdaki kod örneğinde, AsyncStorage.setItem() fonksiyonu kullanılarak 'ad' ve 'yaş' verileri AsyncStorage'e kaydedilir.
```import { AsyncStorage } from 'react-native';
async function veriKaydet() { try { await AsyncStorage.setItem('ad', 'John'); await AsyncStorage.setItem('yaş', '28'); console.log('Veriler kaydedildi!'); } catch (error) { console.log('Veriler kaydedilemedi: ', error); }}```
Yukarıdaki örnek, ad ve yaş verilerini kaydeder. Burada setItem() fonksiyonuna 'ad' ve 'yaş' anahtarları ve 'John' ve '28' değerleri veriliyor. Verilerin başarıyla kaydedildiğini kontrol etmek için, console.log() fonksiyonu kullanıldı.
Ayrıca, AsyncStorage.setItem() fonksiyonu ile birden fazla anahtar ve değer çifti de kaydedebilirsiniz.
```async function veriKaydet() { try { await AsyncStorage.setItem('ad', 'John'); await AsyncStorage.setItem('yaş', '28'); await AsyncStorage.setItem('telefon', '5555555555'); console.log('Veriler kaydedildi!'); } catch (error) { console.log('Veriler kaydedilemedi: ', error); }}```
Yukarıdaki kod örneği, ad, yaş ve telefon numarası gibi birden fazla veriyi kaydedebilir.
Sonuç olarak, AsyncStorage ile veri kaydetmek oldukça kolaydır. Anahtar ve değer çiftleri kullanarak verileri kaydetmek ve daha sonra erişmek mümkündür. Yalnızca, AsyncStorage limitleri gibi sınırlamaları göz önünde bulundurmanız gerekiyor.
Veri çekmek
AsyncStorage ile kaydedilen verilerin depolanması kadar çekilmesi de oldukça önemlidir. AsyncStorage sayesinde kaydedilen verileri çekerek istediğimiz yerde kullanabiliriz. AsyncStorage verileri çekmek için getItem() fonksiyonunu kullanırız. getItem() fonksiyonu anahtar kelimeyi parametre olarak alır ve depolama üzerinde o anahtar kelimesi ile ilişkili değeri getirir.
Örneğin, bir kullanıcının adını ve soyadını AsyncStorage kullanarak kaydettiğimizi varsayalım ve bunları başka bir ekranda kullanmak istiyoruz. getItem() fonksiyonu ile kaydedilen adı ve soyadı çekebilir ve kullanabiliriz:
No | Kod Parçası |
---|---|
1 | AsyncStorage.getItem('ad', (err, result) => { |
2 | console.log(result); // çıktı: 'John' |
3 | }); |
Bu örnekte, 'ad' anahtar kelimesiyle depolama üzerinde kaydedilen ismi çektik ve bu ismi console ekranında bir çıktı olarak gösterdik.
AsyncStorage verilerini çekmek de kaydetmek kadar kolaydır. Ancak, depolanabilecek maksimum veri boyutunun sınırlandırılması, düşük hızda çalışması ve veri kaybetme riski gibi birkaç dezavantaja da sahiptir. Bu sınırlamaları göz önünde bulundurarak, AsyncStorage kullanımında dikkatli olmak önemlidir.
AsyncStorage Limitleri
AsyncStorage, mobil uygulamalarda kullanılabilecek etkili bir depolama mekanizması olsa da, sınırları bulunmaktadır. Bu sınırların farkında olmak ve onları aşmak için uygun çözümler uygulamak gerekir.
AsyncStorage kullanımında karşılaşılabilecek iki temel sınır vardır:
Sınır | Açıklama |
---|---|
Boyut Sınırı | AsyncStorage'da saklanabilecek verilerin boyutu sınırlıdır. Bu sınır uygulamanın işletim sistemine göre değişebilir. Örneğin, iOS'ta veri boyutu 6MB ile sınırlandırılırken, Android'de daha fazla veri saklamak mümkündür. |
Performans Sınırı | AsyncStorage'in performansı, uygulamanın depolama alanını kullanım şekline bağlı olarak değişebilir. Uzun listeler halinde veri depolama performansı düşebilir. |
AsyncStorage kullanırken, bu sınırları göz önünde bulundurarak uygun çözümler üretmek önemlidir. Örneğin, verilerin boyutunu azaltmak veya depolama işlemlerini optimize etmek için çeşitli yöntemler kullanılabilir.
AsyncStorage sınırlarını aşmanın en yaygın yöntemleri arasında, verileri sıkıştırmak veya ya da ihtiyaç duyulan verileri birden fazla depolama mekanizması kullanarak depolamak yer alır. Ayrıca, performansı artırmak için verilerin yalnızca belirli aralıklarla güncellenmesi de faydalıdır.
AsyncStorage sınırları, uygulama geliştiricilerinin karşılaşabileceği önemli bir sorundur. Ancak, uygun çözümler kullanarak bu sınırların üstesinden gelmek mümkündür.
Bu yazıda HTML5 web depolama mekanizmaları hakkında genel bilgi edindiniz. Local storage ve Session storage'un özelliklerini ve kullanım alanlarını detaylı bir şekilde öğrendiniz. Ayrıca React Native ile web depolama mekanizmalarının kullanımı hakkında bilgi veren açıklama yer aldı. AsyncStorage kullanımı, veri kaydetme ve çekme örnekleri ve kodlarıyla birlikte anlatıldı.
AsyncStorage limitleriyle de karşılaşabileceğinizi öğrendiniz ancak bu limitlerin çözüm önerilerine de bu yazıda yer verildi. Tüm bu bilgiler ışığında, artık HTML5 web storage mekanizmalarını ve React Native kullanarak nasıl kullanabileceğinizi biliyorsunuz. Bu yazıdaki detaylı örnekler sayesinde kolayca uygulama geliştirebilirsiniz.