Pytanie Czy mogę używać CloudKit na Androida lub w aplikacji internetowej


Kodowałem aplikację, a korzystanie z CloudKit ułatwiłoby mi życie. Jednak ta aplikacja wymaga aplikacji internetowej obok aplikacji na iOS. Zastanawiam się, czy byłby jakikolwiek sposób, w jaki mógłbym używać CloudKit z Androidem lub aplikacjami internetowymi.

Chociaż może to nie być możliwe bezpośrednio z API dostarczonym przez Apple, inną możliwością byłoby użycie OS X Server dla CloudKit. Czy to też byłoby możliwe / przestrzeganie Warunków świadczenia usług Apple dla CloudKit?

Dzięki!


18
2017-07-02 20:53


pochodzenie




Odpowiedzi:


Tak, możesz. Apple zapewnia CloudKit JS, specjalnie zaprojektowane do usług internetowych. Nie wiem zbyt wiele na temat Androida, ale jestem pewien, że uruchomienie JavaScriptu nie będzie trudne.

Również CloudKit WebServices może być dla ciebie interesujące.

EDYTOWAĆ  porady i dyskusja

Aby udzielić Ci uczciwej porady: Lepiej użyj czegoś "własnego". Obecnie pracuję z niestandardowym serwerem na instancji AWS EC2 i jestem naprawdę szczęśliwy.

Można na przykład napisać naprawdę prosty serwer za pomocą Node.js i połącz Mongo DB Baza danych NoSQL. CloudKit właściwie nie jest to więcej.

To naprawdę proste zadanie. Zrobiłem to wcześniej iz niektórymi JavaScript doświadczenie i kilka dni ćwiczeń węzła jest absolutnie wykonalne; bardzo szybko napiszesz naprawdę ładne serwery.

W końcu, gdy mamy do czynienia z większą liczbą klientów, CloudKit będzie być droższym. A jeśli ty, dlaczego, musi przejdź do innej usługi, będziesz mieć problemy z CK, ponieważ nie masz dostępu do prywatnych danych przechowywanych w pamięci.

Upewnij się też, że koncepcja CKs pasuje do twoich potrzeb. Byłem w twojej sytuacji kilka miesięcy temu. Kiedy czytałem więcej o CloudKit i przeglądałem sesje WWDC, coraz bardziej zdawałem sobie sprawę, że to nie jest BAAS, jak można by się spodziewać.

Jeden przykład: Nie masz kontroli dostępu: prywatna lub publiczna, to jest to. Istnieje publiczna baza danych, z której każdy może uzyskać dostęp do każdego zasobu. A prywatny dla każdego użytkownika, który jest niedostępny dla innych.

Jeśli nie chcesz lub nie możesz zrobić czegoś samemu, możesz po prostu użyć BAASBOX-a do samo-hostowanych interfejsów API lub dowolnego komercyjnego BAAS.


EDYTUJ II

Aby wskazać to ponownie każdemu, kto spóźnił się w grze:

Prywatne bazy danych (na użytkownika) są absolutnie niedostępne dla innych - nawet ty jako deweloper i operator nie masz dostępu do hipotetycznie zaszyfrowanych danych, aby przejść do innej (prawdopodobnie hostowanej) usługi.

Będziesz musiał dokonać aktualizacji, a aplikacja musi przenieść dane do nowej usługi w imieniu użytkowników - "device-ly".

Tego rodzaju procesy są zwykle problematyczne, ponieważ trzeba uruchomić dwie usługi, dopóki wszyscy aktywni użytkownicy nie przeniosą swoich danych - czyli takich NAPRAWDĘ ciężko powiedzieć; Twój klient może być bezczynny przez pewien czas i będą zdenerwowani, jeśli ich dane zostaną utracone na zawsze.

Ok - Cloudkit może trwać do ... Tak, do tej pory następnie. Więc może nie być tak problematycznym wykonywanie tego rodzaju biernego ruchu długotrwałego.


19
2017-07-14 13:28



Ponieważ CloudKit udostępnia teraz JSON API, pisanie natywnej biblioteki Androida nie byłoby trudne. Jedyny problem polegałby na uwierzytelnianiu, które musiałoby zostać wykonane za pośrednictwem Webview lub podobnego. github.com/jaumecornado/DroidNubeKit - Legoless
Przykro mi to słyszeć ... Ale wydaje mi się, że w Androidzie można utwożyć widok sieciowy - prawda? - Julian F. Weinert
Powinno być dobrze, wiele bibliotek OAuth korzysta z widoku internetowego. - Legoless
co masz na myśli "Brak prawdziwej kontroli dostępu; prywatne lub publiczne, to wszystko. "? - János
Istnieje publiczna baza danych, z której każdy może uzyskać dostęp do każdego zasobu. I prywatny dla każdego użytkownika, do którego dostęp ma tylko ten użytkownik. Nie masz żadnej kontroli nad tym, który użytkownik może uzyskać dostęp do danego zasobu. Może to być konieczne w przypadku większości aplikacji opartych na interfejsie API, jak sądzę. - Julian F. Weinert


Niestety CloudKit jest dostępny tylko dla ekosystemu Apple. Istnieją jednak podobne technologie Analizować i FireBase pozwala to zrobić to samo, ale może być platformą krzyżową. Jednak kosztują dużo więcej i nie są usługami po stronie klienta.

UWAGA - usługi hostowane przez Parse zostaną całkowicie wycofane 28 stycznia 2017 r.


5
2017-07-03 03:43



OK. Nie sądzę. Sądzę, że bardziej pytałem o część serwera OS X. - Zoyt
Nie porównywałbym Parse z CloudKit, CloudKit jest obecnie najnowocześniejszą technologią chmurową, Parse bardziej skupia się na modelu biznesowym, niż spełnia potrzeby programistów - János
Problem z usługami trójstronnymi polega na tym, że przez cały czas zamykają się, przechodzą lub są przejęte przez inne firmy! Lubiłem Parse, ale to samo się stało. Został przejęty przez Facebooka, a następnie został zamknięty. - Maziyar