SORU
12 EKİM 2011, ÇARŞAMBA


İOS için HTML5 çevrimdışı depolama çözümü geliştirme/Android 2011

Sorun:

Ve telefon ya da tablet türü bir aygıt (örneğin iOS/Android) üzerinde veri çevrimdışı 250.000 satır depolamak ve sorgulamak için cihaz agnostik (örn HTML5 bir çözüm istiyorum. Aklıma herhangi bir hücresel veri bağlantısı olmadan insanlar uzak yerlerde çalışıyor ve bu veriler üzerinde sorgular çalıştırmak ve çevrimdışı düzenlemek için ihtiyaçları var. Kısmen (GPS kullanır) onlar bu alanda varlık varsa o varlık göstermek ve onları düzenlenmesine izin verir, böylece geo-konum tabanlı olacak. Ofise geri döndüklerinde veri ofise server eşitleme yapabilir.

Nedeni ben yaklaşan bir web standart bir bakış açısı, temelde para kazanmak için ve zaman yazılı bir zamanlar HTML5 ve sonra işler çok sayıda platformlarda yerine yazmak iki kez Objective C ve Java. Ayrıca eğer platform agnostik sonra bir şey yazarsanız kilitli değil ve herkesin bir daha yeni bir geçer zaman gemi ile aşağı gitme. Bu platform ölü olarak benzer bir uygulama Windows 5, artık işe yaramaz Mobil için yazmış.

Cihaz üzerinde çevrimdışı veritabanı olması gerekir:

  • hızlı tepkiler altında 2 saniye)
  • Olası birleşimler ve diğer tablolar ile ilişkileri veritabanını sorgulamak mümkün
  • belirli bir aralık veya kriterleri içinde veri seçin ve koordine x y GPS okumaya göre örneğin.

Seçenekler:

HTML5 yerel depolama:

Veri < küçük miktarlarda için iyi;5,000 anahtar/değerleri, hatta sizi JSON dönüştürmek eğer bir dizi/nesne saklayabilirsiniz.

Eksileri:

  • 10.000 ' den fazla satır bile tarayıcı edecek üst düzey bir makine için çok yavaş geçer.
  • Tüm depolama sokmanın gibi verileri istediğiniz verileri çıkarmak için karmaşık sorgular ve elle arama yapamaz.
  • Depolanabilir depolama miktarı ile ilgili sınırlamalar

SQL Veritabanı Web:

  • Gereksinimleri karşılar.
  • Hızlı 250,000 satırlar üzerinde bir sorgu çalıştırmak için (1-2secs)
  • Karmaşık sorgular oluşturmak, vb katıldı
  • Safari tarafından desteklenen, Android ve Opera bu yüzden iOS ve Android cihazlar üzerinde çalışacak

Eksileri:

  • Kasım 2010 itibariyle kaldırılmış
  • Çapraz-dizin saldırıları ile güvenlik kusur. Gerçekten hosting olmayacağız gibi bir sorun değil

İndexedDB:

Anahtar/değer deposu dizinler hariç ile yerel depolama için benzer nesne.

Eksileri:

  • Yavaş 200,000 satırlar üzerinde bir sorgu çalıştırmak için (15-18secs)
  • Karmaşık bir sorgu çalıştırın
  • Yapamaz diğer tablo ile katıldı
  • /Android yani iPad ana telefon ya da tablet cihazlar tarafından desteklenmiyor
  • Standart tam

Bu sadece bir yıl ya da öylesine için çalışabilir kaldırılmış Web SQL yöntemi uygulayan tek seçenek kalıyor. İndexedDB ve yerel depolama şu anda kullanılamaz.

Mozilla ve Microsoft Web SQL Veritabanı standart itiraz nasıl ve W3C bunun olmasına neden izin emin değilim. Aralarında sözde masaüstü tarayıcı pazarında w. Mozilla ve Microsoft mobil cihazlar gelişmiş Safari, Opera and Android have over 90% of the market share gibi neredeyse sıfır etkisi. Mozilla Ve Microsoft çevrimdışı depolama kullanılan en yüksek olduğu mobil pazarda en çok kullanılan dikte nasıl hiç mantıklı değil.

İndexedDB ile gitmek istediler neden comments from Mozilla yerine ağırlıklı olarak 'geliştirici estetik' ve JavaScript içinde SQL çalıştırma fikrinden hoşlanmazlar. yaklaşık olarak Satın almıyorum.

  1. Şu anda önerilen standart kalitesiz ve yavaş ve hatta insanlar bir veritabanı gerek gelişmiş özellikleri desteklemiyor bu son derece temel NoSQL bir uygulamasıdır. Demirbaş kodu bir sürü veritabanı oluşturmak ve veri almak için var ama insanlar daha gelişmiş özellikler sağlayacak ... üstüne güzel soyutlama kütüphaneler yazacak iddia ediyorlar. Ekim 2011 olarak görülebilir hiçbir yerde.

  2. Aslında çalışan mevcut Web SQL standart itiraz ettiler ve ana mobil/tablet tarayıcılarda uygulanır. 'Yeni' ve 'daha iyi' standart büyük mobil tarayıcılarda kullanılamaz. oysa onların

  3. Ne kadar geliştiriciler kullanmak için gereken önümüzdeki 3-5 yıl olan zaman İndexedDB şartname belki etrafında almak için standartlaştırılmış, daha fazla özellik, uygulanan ana mobil/tablet tarayıcılar ve orada bazı iyi kütüphaneler için işler daha kolay?

W3C Web SQL Veritabanı standart paralel bir şekilde çalışmasını sağlamak ve sorunları çözmek gerekir. Zaten büyük mobil platformlar için desteği var ve oldukça iyi çalışıyor. Aslında Mozilla ve Microsoft gibi iki oyuncu ile en iyi masaüstü tarayıcı paylaşmak mümkün müydü bu standart hurdaya güzel ve şüpheli olarak görülebilir bir girişim için engel ilerleme mobil web platformları kadar onlar mümkün yakalarız ve teklif rakip çözümlere karşı iOS/Safari ve Android.

Sonuç olarak kimse iOS telefon/tablet cihazlar için Android/için çalışacak benim sorun için bir çözüm var. Belki güzel bir sarıcı sorgulama yeteneği ile arka planda birden çok veritabanı uygulamalarını kullanabilen ve seçtiğiniz sağlar önceliği API. lawnchair gibi şeyler gördüm ama varsayılan olarak yalnızca yerel depolama kullanmak ve başkalarına düşüyor sağlar eminim. Sanırım Web SQL (varsayılan) yavaş seçenekleri o zaman da çok.

Çözüm için herhangi bir yardım çok takdir, teşekkür ederim!

CEVAP
18 Mayıs 2012, Cuma


Aslında mobil cihazlar için depolama agnostik bir veri Erişim Katmanı oluşturma kesin amacı olduğunu JayData kütüphane, kontrol öneriyoruz. JayData JavaScript Language Query (JSLQ) ile bir soyutlama katmanı sağlar ve CRUD destek JavaScript ve farklı çevrimdışı ve çevrimiçi veri saklama türleri ile aynı şekilde üzerinde çalışmak. JayData kompleks varlıklar ve varlık ilişkileri yerel olarak ya da uzaktan da ile ilgili destekler.

JayData yazma zaman destekler aşağıdaki saklar veya protokoller: webSQL(sqLite) İndexedDB/OData//FBQL YQL/.

Eğer belirli bir sorun ile farklı sistemleri farklı depolama motorları kolayca ele ile sağlayıcı geri dönüş özelliği JayData: olur da onu depolama katmanı olabilir bulurken hala sağlar aynı API doğru tüketici kodu.

WebSQL 2012 tarafından onaylanmaz ile ilgili: Samsung SmartTV ve amazon Kindle dahil olmak üzere hala 95% cihaz kapsama sahip WebSQL olduğunu yazma. Check out kindle executing WebSQL unit tests with JayData.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FrameCityJackal

    FrameCityJac

    4 Aralık 2010
  • HowtoDrawAndPaint

    HowtoDrawAnd

    24 EKİM 2010
  • JeezyVEVO

    JeezyVEVO

    12 Mayıs 2009