Podczas swojego ostatniego przemówienia na WWDC w 2011 roku Steve Jobs przedstawił usługę, która wciąż przeraża wielu programistów. To nikt inny jak iCloud, zbawienny następca kłopotliwego MobileMe. Jednak nawet iCloud nie jest pozbawiony błędów. A deweloperzy się buntują…
Steve Jobs po raz pierwszy zaprezentował usługę iCloud w czerwcu 2011 r., usługa została uruchomiona cztery miesiące później i działa już od około półtora roku. Z pozoru w miarę sprawna usługa, która według słów legendarnego wizjonera „po prostu działa” (a przynajmniej powinna), ale w środku nieokiełznany mechanizm, który często robi, co chce, a twórcy nie mają skutecznej broni przeciwko temu.
„Wszystko dzieje się automatycznie i bardzo łatwo jest podłączyć aplikacje do systemu przechowywania iCloud” Jobs powiedział wówczas. Gdy twórcy przypomną sobie teraz jego słowa, pewnie będą musieli się najeżyć. „iCloud po prostu w naszym przypadku nie zadziałał. Spędziliśmy nad tym naprawdę dużo czasu, ale przy synchronizacji iCloud i Core Data wystąpiły problemy, których nie mogliśmy rozwiązać.” przyznał szef studia Black Pixel, które odpowiada m.in. za znany czytnik RSS NetNewsWire. Dla niej iCloud powinien być idealnym rozwiązaniem do synchronizacji, zwłaszcza w momencie, gdy Google ma zamiar zamknąć swój Google Reader, ale zakład na usługę Apple nie wypalił.
Nic nie działa
Zaskakujące jest, że serwis, który ma ponad 250 milionów użytkowników i jest tym samym jednym z największych tego typu na świecie, ma takie problemy. Pobieżne spojrzenie na sprawę można by wytykać palcem deweloperów, jednak na razie są w tym niewinni. iCloud próbuje wdrożyć wiele z nich w swoich aplikacjach, ale ich próby często kończą się niepowodzeniem. Ponieważ iCloud ma poważne problemy z synchronizacją.
[do action="quote"]Nie mogę nawet zliczyć wszystkich programistów, którzy napotkali problemy i ostatecznie się poddali.[/do]
„Kilkakrotnie przepisałem kod iCloud, mając nadzieję, że znajdę działające rozwiązanie” napisał deweloper Michael Göbel. Nie znalazł jednak rozwiązania, w związku z czym nie może jeszcze promować swoich aplikacji, a raczej App Store. „Nie mogę nawet zliczyć wszystkich programistów i firm, które napotkały te same problemy, co ja i ostatecznie się poddały. Po utracie setek tysięcy danych użytkowników po prostu całkowicie porzucili iCloud.”
Największym problemem Apple z iCloud jest synchronizacja baz danych (Core Data). Pozostałe dwa rodzaje danych, które można synchronizować za pośrednictwem chmury Apple – ustawienia i pliki – działają w granicach bez żadnych problemów. Jednak Core Data zachowuje się całkowicie nieprzewidywalnie. Jest to platforma wysokiego poziomu, która umożliwia synchronizację wielu baz danych na różnych urządzeniach. „iCloud obiecał rozwiązać wszystkie problemy z synchronizacją baz danych dzięki obsłudze Core Data, ale to po prostu nie działa” powiedział jeden z czołowych deweloperów, który nie chciał pozostać anonimowy, aby utrzymać dobre relacje z Apple.
Jednocześnie Apple całkowicie ignoruje te problemy, iCloud nadal reklamuje się jako proste rozwiązanie, a użytkownicy żądają go od programistów. Jednak pomimo największych wysiłków programisty dane użytkowników znikają w niekontrolowany sposób, a urządzenia przestają się synchronizować. „Rozwiązanie tych problemów często zajmuje wiele godzin, a niektóre mogą trwale uszkodzić Twoje konta” inny wiodący programista pochyla się nad Apple i dodaje: „Ponadto AppleCare nie jest w stanie rozwiązać tych problemów z klientami”.
„Cały czas zmagamy się z połączeniem Core Data i iCloud. Cały ten system jest nieprzewidywalny, a deweloper często ma ograniczone możliwości wpływania na jego funkcjonowanie.” opisuje czeskie studio deweloperskie Kliknij Sztuka, który utwierdził nas w przekonaniu, że ze względu na utrzymujące się problemy rezygnuje z tego rozwiązania i pracuje nad własnym, w którym zamiast synchronizacji baz danych jako takiej będzie wykorzystywał synchronizację plików. Będzie mógł wtedy wykorzystać do tego iCloud, gdyż synchronizacja plików odbywa się za jego pośrednictwem bez żadnych problemów. Przecież potwierdzają to również twórcy z Jumsoft: „iCloud to bez wątpienia świetne narzędzie do bezpośredniego przechowywania plików”. Jednak Jumsoft potrzebuje niestety Core Data do swojej dobrze znanej aplikacji Money, a to jest przeszkodą.
[do action="quote"]iCloud i Core Data to najgorszy koszmar każdego programisty.[/do]
Wiele problemów wynika również z nieoczekiwanych sytuacji, które mogą łatwo wystąpić, na przykład gdy użytkownik wylogowuje się z jednego konta Apple ID na swoim urządzeniu i loguje się za pomocą innego. Apple w ogóle na nich nie liczy. „Jak rozwiązać problem, gdy użytkownik niezalogowany do iCloud włącza aplikację, następnie łączy się z iCloud i ponownie uruchamia aplikację?” on zapytał z jednym programistą na forach Apple.
Wszystkie problemy z iCloud kończą się niezadowoleniem użytkowników aplikacji, którzy tracą dane, podczas gdy programiści często po prostu bezradnie się przyglądają. „Użytkownicy skarżą się do mnie i oceniają aplikacje jedną gwiazdką” Żalił się na forach Apple programista Brian Arnold, który wciąż nie otrzymał od Apple wyjaśnień na temat tego, co zrobić z podobnymi problemami i dlaczego w ogóle do nich dochodzi. A fora są pełne takich skarg dotyczących synchronizacji iCloud.
Niektórzy programiści już tracą cierpliwość do iCloud i nic dziwnego. „iCloud i Core Data to najgorszy koszmar każdego programisty” powiedział za Poboczy anonimowy deweloper. „To frustrujące, czasami doprowadzające do szału i warte niekończących się godzin rozwiązywania problemów”.
Apple milczy. Sam omija problemy
Być może nie ma się co dziwić, że problemy Apple’a z iCloud mijają tak, jakby nic się nie stało. Apple praktycznie nie wykorzystuje w swoich aplikacjach problematycznych Core Data. W rzeczywistości istnieją dwie usługi iCloud – jedna obsługująca usługi Apple i druga oferowana programistom. Aplikacje i usługi, takie jak iMessage, Mail, kopia zapasowa iCloud, iTunes, Photo Stream i inne, są zbudowane w oparciu o zupełnie inną technologię niż ta dostępna dla zewnętrznych programistów. To znaczy ten, z którym występują ciągłe problemy. Aplikacje z pakietu iWork (Keynote, Pages, Numbers) korzystają z tego samego interfejsu API, co aplikacje innych firm, ale tylko w celu znacznie prostszej synchronizacji dokumentów, nad czym Apple bardzo się stara, aby działało. Kiedy wpuścili iCloud i Core Data do swojej aplikacji w Cupertino, nie są lepsi pod względem niezawodności od zewnętrznych programistów. Aplikacja Trailers, która do synchronizacji wykorzystuje Core Data, mówi sama za siebie, a użytkownicy regularnie gubią jakieś rekordy.
Jednak w przypadku przyczep, które nie są tak popularne, problemy te można stosunkowo łatwo utracić. Co jednak powinni powiedzieć twórcy najpopularniejszych aplikacji swoim użytkownikom, którzy po prostu muszą polegać na problematycznych Core Data w iCloud, ale często nie mogą zagwarantować funkcjonalności, którą Apple stale reklamuje w swoich reklamach? Apple na pewno im nie pomoże. „Czy ktoś z Apple może skomentować tę sytuację?” on zapytał bezskutecznie na forum programista Justin Driscoll, który został zmuszony do zamknięcia swojej nadchodzącej aplikacji z powodu zawodności iCloud.
W ciągu roku Apple nie pomaga deweloperom, więc wszyscy liczyli, że coś się wyjaśni przynajmniej na zeszłorocznej konferencji WWDC, czyli konferencji przeznaczonej dla programistów, ale i tutaj Apple nie wniosło zbyt wiele pomocy pod ogromną presją deweloperów. Na przykład dostarczył przykładowy kod, którego można użyć do synchronizacji danych podstawowych, ale nie był on kompletny. Znów brak znaczącej pomocy. Co więcej, inżynierowie Apple namawiali programistów, aby poczekali na iOS 6. „Przejście z iOS 5 na iOS 6 sprawiło, że wszystko stało się o XNUMX% lepsze” potwierdzone przez anonimowego dewelopera, „ale nadal jest daleko od ideału”. Według innych źródeł Apple w zeszłym roku zatrudniało zaledwie czterech pracowników opiekujących się Core Data, co jasno wskazywałoby, że Apple nie jest zainteresowany tym obszarem. Spółka nie chciała jednak komentować tych informacji.
Do widzenia i szalik
Po wszystkich wspomnianych perypetiach nie jest zaskakujące, że wielu programistów powiedziało iCloudowi „nie”, choć prawdopodobnie z ciężkim sercem. To właśnie iCloud miał w końcu przynieść coś, za czym tęsknili deweloperzy – proste rozwiązanie, które zapewni identyczne bazy danych i ich stałą synchronizację na dwóch lub większej liczbie urządzeń. Niestety, rzeczywistość jest inna. „Kiedy spojrzeliśmy na iCloud i Core Data jako rozwiązanie dla naszej aplikacji, zdaliśmy sobie sprawę, że nie możemy z nich korzystać, ponieważ nic nie będzie działać” powiedział twórca kilku najlepiej sprzedających się aplikacji na iPhone'a i Maca.
Kolejnym powodem, dla którego niełatwo jest porzucić iCloud, jest fakt, że Apple zauważa aplikacje korzystające z jego usług (iCloud, Game Center), a całkowicie ignoruje te, które nie mają nic Apple w App Store. iCloud to także dobre rozwiązanie z marketingowego punktu widzenia.
Na przykład Dropbox jest oferowany jako możliwa alternatywa, ale nie jest już tak przyjazny dla użytkownika. Z jednej strony użytkownik musi założyć kolejne konto (iCloud jest dostępny automatycznie przy zakupie nowego urządzenia), z drugiej strony wymagana jest autoryzacja, aby aplikacja mogła działać, co również nie udaje się w przypadku iCloud. I na koniec – Dropbox oferuje synchronizację dokumentów, a to po prostu nie jest to, czego szukają programiści. Chcą synchronizować bazy danych. „Najpopularniejszy obecnie Dropbox sprawdził się w synchronizacji danych. Ale jeśli chodzi o synchronizację bazy danych, jesteśmy zależni od iCloud” przyznaje Roman Maštalíř z Touch Art.
[do action="quote"]Chciałbym powiedzieć Apple, że naprawili wszystko w iOS 7, ale nie do końca w to wierzę.[/do]
Twórcy aplikacji 2Do nie mieli jednak cierpliwości, w związku z licznymi negatywnymi doświadczeniami z iCloud, w ogóle nie wypróbowali usługi Apple i od razu wymyślili własne rozwiązanie. „Nie używamy iCloud ze względu na wszystkie problemy. To bardzo zamknięty system, nad którym nie moglibyśmy mieć takiej kontroli, jaką byśmy chcieli” – dodał. powiedział nam deweloper Fahad Gillani. „Do synchronizacji wybraliśmy Dropbox. Nie korzystamy jednak z synchronizacji dokumentów, napisaliśmy dla niego własne rozwiązanie do synchronizacji.
Inne czeskie studio, Madfinger Games, również nie ma iCloud w swoich grach. Twórca popularnych tytułów Dead Trigger i Shadowgun nie korzysta jednak z usługi Apple’a z nieco innych powodów. „Posiadamy własny oparty na chmurze system zapisywania pozycji w grze, ponieważ chcieliśmy mieć możliwość przenoszenia postępu gry pomiędzy platformami.” David Kolečkář ujawnił nam, że ze względu na rozwój gier na iOS i Androida dla Madfinger Games, iCloud nigdy nie był rozwiązaniem.
Czy będzie rozwiązanie?
Z biegiem czasu wielu programistów powoli traci nadzieję, że Apple znajdzie rozwiązanie. Na przykład zbliża się kolejne WWDC, ale ponieważ Apple nawet teraz praktycznie nie komunikuje się z programistami, nie oczekuje się, że przyjdzie na WWDC z otwartymi ramionami, pełnymi rad i odpowiedzi. „Jedyne, co możemy zrobić, to wysyłać raporty o błędach do Apple i mieć nadzieję, że je naprawią” ubolewał nad anonimowym programistą iOS, a inny powtórzył jego zdanie: „Chciałbym powiedzieć Apple, że naprawili wszystko w iOS 7 i po dwóch latach można wreszcie używać iCloud bez problemów, ale nie bardzo w to wierzę”. Jednak to właśnie iOS 7 powinien być tematem przewodnim tegorocznej edycji WWDC, więc deweloperzy mogą mieć przynajmniej nadzieję.
Jeśli Apple nie zaoferuje rozwiązania problemów iCloud w nowej wersji swojego systemu operacyjnego, może to być wirtualny gwóźdź do trumny niektórych projektów. Jeden z programistów, który do tej pory był gorącym zwolennikiem iCloud, mówi: „Jeśli Apple nie naprawi tego w iOS 7, będziemy musieli porzucić statek”.
Przeczytałem cały artykuł i nie rozumiem skąd się wziął. Jeśli chodzi o aplikacje iCloud i Apple oraz ogólną integrację iCloud z iPhonem i Macem, u mnie działa to w 100% i korzystam z prawie każdej aplikacji Apple, która to obsługuje. Co więcej, mam także pobraną aplikację Trailers od Apple (chociaż NIE ma jej w iTunes SVK, więc musi być ku temu powód), ale nie wiem, gdzie jest tutaj zintegrowany iCloud - będę musiał to sprawdzić w górę. Co więcej, NIGDY nie miałem problemu z iCloud w innych aplikacjach. Używam aplikacji Appig ToDo, a synchronizacja iCloud działa w 100% i mam ponad 100 zadań w aplikacjach na iPhone'a i Maca, które są ściśle związane z moją pracą, więc potrzebuję 100% działającej synchronizacji, więc nie wiem, z czym 2Do ma problemy . Skontaktowałem się również bezpośrednio z Appigo, a oni polecili iCloud (oczywiście oprócz płatnej usługi synchronizacji) do synchronizacji, ponieważ próbowałem też Dropbox i nie byłem zadowolony (używam Dropbox codziennie do synchronizacji plików). Codziennie korzystam również z aplikacji pieniężnej iBear i nigdy nie miałem żadnych problemów z synchronizacją z iCloud! Piszesz też, że Dropbox jest lepszym rozwiązaniem do synchronizacji plików, ale wcześniej jest napisane, że iCloud jest idealny do synchronizacji plików – trochę tego nie rozumiem. Co więcej, studia gier, o których wspominasz, nie korzystają z iCloud, ale korzystają z ich usług ze względu na synchronizację z urządzeniami z systemem ANDROID, na których iCloud nie istnieje, więc myślę, że tutaj nie ma problemu. Tak ostatnio działa Real Racing 3 i to także tylko przy synchronizacji z urządzeniami innymi niż Apple. Inne gry korzystające z iCloud również działają w ten sposób (z mojego doświadczenia). I na koniec piszesz, że iCloud to system bardzo zamknięty i to jest problem – czyż nie taka była zawsze filozofia Apple’a? Gdyby iCloud był całkowicie otwarty, w ogóle by nie działał. Poza tym cały iOS jest zamknięty i zawsze ktoś będzie narzekał, że nie da rady, ale z mojego punktu widzenia to chyba dobrze, prawda? Co prawda nie czytałem skarg na forach i skarg deweloperów, ale z iCloud jestem w 100% zadowolony, więc ten artykuł mnie zaskoczył.
Tak, jak napisano w artykule. Aplikacje natywne działają, a użytkownik niczego nie zauważa
Spokojnie, to właściwie przetłumaczony artykuł z TheVerge, więc czytamy opinię Ellisa Hamburgera, a nie Ondreja Holzmana (nie mam nic przeciwko mnie, po prostu daję z siebie wszystko).
Tak naprawdę nikogo nie obchodzi, co Apple robi dobrze. Każdy chce usłyszeć, co robi źle, ponieważ reklama na takich stronach zarabia dwa razy więcej. Bo inaczej nie potrafię wytłumaczyć, dlaczego cały artykuł miałby dotyczyć tego, że „iCloud w ogóle nie działa”, mimo że są to tylko problemy z synchronizacją Core Data, która stanowi mniej więcej 1/10 iCloud. Ale jak powiedziałem, nikogo nie obchodzi, co działa prawie idealnie:
– Dopasowanie iTunes
– iTunes w chmurze
– iMessage
– Czas na rozmowę
- Strumień zdjęć
– kopie zapasowe iCloud
- Łączność
– Przypomnienia
– Kalendarze
- podcasty
- Centrum Gier
Przecież nawet jeśli jedna mała część nie działa idealnie, artykuły mówią o tym, jak „nic nie działa”, bo to żart. Osoby znające fakty wiedzą jednak, że nie ma to nic wspólnego z obiektywnym raportowaniem.
Dziś można krytykować wszystko (zwłaszcza jeśli dana osoba wcześniej nic o tym nie przeczytała), więc albo przyłącz się do rady, albo internetowe masy cię ukamienują.
Jeżeli z artykułu nie wynika, że krytykowane są wyłącznie dane Core Data, to powinno tak być. I tak, artykuł w dużej mierze pochodzi z TheVerge, bo do takich informacji po prostu nie możemy dotrzeć, nie mamy dostępu. Próbowałem przynajmniej zapytać innych programistów o problemy z iCloud, aby wiedzieć, co i dlaczego, a oni mniej więcej potwierdzili te skargi.
Piszesz, że każdy chce usłyszeć, co jest nie tak, i to prawda. Czy uważasz, że warto co tydzień pisać o tym, jak iCloud jest naprawdę świetny, jak wszystko działa oprócz jednej rzeczy i że dane są pięknie zsynchronizowane? Nie wiem, pomyślałem, że to bardzo ciekawy temat, który teraz stał się popularny, szczególnie za granicą, więc o tym napisałem.
Czy w takim przypadku nie obowiązuje obowiązek podania źródła, z którego pochodzi artykuł? A może jest to głównie tłumaczenie artykułu? Więc to nie jest twoje dzieło, ale kogoś innego? Poza tym takie artykuły bezsensownie siają wątpliwości, jak to dokładnie ma miejsce w poniższym komentarzu Marka Odehnala !!!
Źródło artykułu jest podane od początku pod ostatnim zdaniem, tak jak w przypadku wszystkich innych artykułów na temat Jablíčkářa.
och, przepraszam, nie zdawałem sobie z tego sprawy
No nie za dobrze to wychodzi - zróbcie mały eksperyment: przeczytajcie tylko tytuł, a potem wszystkie napisy - z tego mam wrażenie, że iCloud jest gorszy od raka (i że gdzieś jest coś Core Data, ale powyżej wszystko muszę pamiętać, że iCloud absolutnie nie działa, jak piszesz w jednym podtytule - przynajmniej ten jest nietrafiony). Niewiele osób rozumie, jak faktycznie Core Data wygląda w iCloud, a ten artykuł zdecydowanie nie zadał sobie trudu, aby w jakikolwiek sposób to wyjaśnić. To, że wspomniałeś o tym w kilku akapitach, to naprawdę za mało. A ja nigdzie nie widzę mnogości – nie trzeba pisać całego artykułu o tym, że wszystko działa. Ale w artykule na tysiąc słów ani razu nie wspomniano, że wszystkie pozostałe części iCloud działają tak wolno, jak myślę… cóż, po prostu typowe dla obecnego nastroju – krytykuj Apple, reklama się opłaca. A nadmienić wypada, że ŻADNA firma konkurencyjna nie oferuje podobnego rozwiązania… nie ma już na to miejsca, prawda?
Nie chcę nikomu doradzać, ale kieruję się zasadą: jeśli czegoś nie rozumiem, nie piszę o tym.
Jeśli ze spokojną miną powiesz mi, że uważasz, że artykuł jest obiektywny lub wyraża więcej niż jeden punkt widzenia, to niestety będę musiał się śmiać.
Tak, wybrałem napisy trochę bardziej agresywnie, czasem przesadnie, akceptuję to. Wspomniano tam, że działają inne funkcje iCloud. Wspomniano również o tym, że iCloud oferuje to, czego nie oferują inne usługi. To nie jest tak, że iCloud oferuje to jako JEDYNE. Istnieje wspomniany Dropbox, który jest najczęstszą alternatywą, jednak na pewno nie oferuje tego, co robi iCloud, czyli synchronizacji baz danych.
W artykule więcej poglądów na ten temat wyraża się w sposób, w jaki kilku programistów wypowiada się na ten sam temat. O co osobiście miałem okazję zapytać kilka studiów deweloperskich, wszystkie potwierdziły mi, że jest po prostu problem z Core Data.
To dziwne, bo gdy czytam newsy o hackerach, fora wsparcia czy dyskusje na Verge, to około połowa deweloperów twierdzi, że nie miała z tym problemu (nawet w tej dyskusji są osoby, które same mówią to samo). Ale właśnie rozmawiałeś z programistami i na 100% powiedzieli ci, że to nie działa. Ciekawe, wydaje się to bardzo prawdopodobne – zdecydowanie nie odważyłbym się powiedzieć, że opinia ludzi, dla których to zadziałało, oni… hm… się pokłóciła.
Jeśli porównamy jabłka do jabłek (hehe), oba Dropbox i iCloud Document Sync działają idealnie. Nie widzę więc powodu, aby w ogóle wspominać o Dropboxie, gdy mówimy o synchronizacji danych podstawowych.
Krótko mówiąc, po prostu nie rozumiem, że oparłeś cały artykuł na fakcie, że iCloud nie działa – kropka. Wspomniałeś, że chodzi tylko o synchronizację danych podstawowych na linii 13. Ale zdecydowana większość artykułu dotyczy tego, że iCloud jako taki nie działa. Bo to po prostu nieprawda. To, że jest to raczej sensacja, jest prawdopodobnie prawdą. Ale jeśli chcesz pisać poprawnie merytorycznie, powinieneś zwrócić na to uwagę. Bo kiedy spojrzysz w dół, są ludzie, którzy zrozumieli to dokładnie tak, jak napisałeś – że iCloud nie działa – i dlatego zaczęli pytać, czy kopia zapasowa iCloud przynajmniej działa. Myślę, że to najlepszy dowód na to, jak to brzmiało dla większości ludzi.
Napiszę Ci to samo, co napisałem autorowi na The Verge: to nie jest blog osobisty, na którym wolno szerzyć kłamstwa. W rzeczywistości czytają go miliony (a w przypadku Jablickera tysiące) ludzi, którzy ci wierzą i traktują to, co piszesz, jako fakty. Nie jest to więc wymówka, że przed napisaniem artykułu nie dowiedziałeś się, o co chodzi. Nawet gdybym to potrafił zrozumieć. Gorzej jest, gdy wybiórczo wyrzucasz akta, nie dopasowując faktów, w wyniku czego powstaje uproszczony artykuł, goniący za sensacją.
Rozumiem jednak, że gdyby tytuł artykułu brzmiał: „Dlaczego to w jakiś sposób nie działa, synchronizacja danych podstawowych?”, prawdopodobnie byłby znacznie mniej czytany. I tu jest linia podziału między tworzeniem na jakość i na ilość.
Sam zapytałem pięciu czeskich programistów (czterech odpowiedziało) i jednego zagranicznego i ogólnie potwierdzili, że jest/są problem z Core Data. Nie twierdzę, że dotyczy to wszystkich, ale krótko mówiąc, ci, których zapytałem, potwierdzili to, co przeczytałem gdzie indziej. Niestety nie spotkałem się z pozytywną odpowiedzią, o czym w innym przypadku wspomniałbym w artykule. Mógłbym opisać więcej programistów, ale napisałem do wszystkich czeskich programistów, którzy przyszli mi na myśl, a także dodaliśmy kilku zagranicznych, z którymi mamy kontakty, ale nie wszyscy się komunikują.
Szkoda, że nie pozostałem przy oryginalnej wersji artykułu „Dwa oblicza iCloud”, bo przyznam, że byłaby ona o wiele bardziej odpowiednia i inny tytuł nadałby artykułowi zupełnie inny charakter. Ale teraz nie mogę tego cofnąć.
Tak, to prawdopodobnie brzmiałoby zupełnie inaczej. Wierzę Ci w tych deweloperów, przeczytałem opinie setek osób na różnych forach i tam zobaczyłem, że na pol jest tak pol. Ponieważ wiele osób naprawdę bez problemu korzysta z synchronizacji danych podstawowych - jeśli używają prostych struktur i prawidłowo obsługują scalanie, nie powinno być problemu. CDS (core data sync) nie ma błędów w implementacji tak bardzo jak w zasadzie - np. co zrobić gdy masz dwie bazy danych ze wspólnym przodkiem, w każdej dokonałeś jakichś zmian i potem próbujesz te zmiany przenieść i te zmiany są sprzeczne? Jest to dość duży i dość złożony problem z bazą danych (O(mn^2)) i nikt go jeszcze w zadowalający sposób nie rozwiązał, Apple wtedy spróbuje jako jeden z nielicznych.
Prawie mi szkoda ludzi, którzy niewiele o tym wiedzą, przychodzą tutaj, czytają artykuł i wychodzą z poczuciem, że iCloud to kupa gówna. Jednocześnie tak jak pisałem wcześniej, dziesiątki funkcji, które działają bez problemu są naprawdę świetne i kilkukrotnie zaoszczędziły mi masę danych. Więc uznałem ten plik za nieuczciwy ze względu na bardzo trudny problem CSD potępiający cały iCloud - niestety niektórzy naprawdę tak to rozumieli.
A co do artykułu o problemach Core Data Sync - chętnie go przeczytam i będę wdzięczny za dalsze informacje na ten temat. Szkoda tylko, że CDS wyłapał cały iCloud (i to nie tylko w Twoim zdaniu, ale trochę w zgłoszeniu E. Hamburgera, choć próbował to jakoś rozdzielić – a potem dziesiątki serwerów, które przejęły – w uproszczeniu – opublikowane w stylu z „iCloud jest przydatny”).
Nie sądzę, że Apple na to zasługuje – zwłaszcza, że nikt inny nawet nie próbuje rozwiązać problemu.
Ten artykuł to praktycznie tylko parafraza niezadowolonych programistów i ich problemów w jednym miejscu. Nie mam osobistego doświadczenia z programowaniem i iCloud, po prostu czerpałem z dostępnych informacji.
Aby dodać fakty, prawda jest taka, że synchronizacja baz danych w stylu slave-slave to problem O(mn^2), którego ani Google, ani Oracle nawet nie podejmą (podczas gdy Apple rozwiązało go już przyzwoicie dla średnio skomplikowanych struktur). Jedyną firmą, która próbuje rozwiązać ten problem, jest Apple, ale jest za to jedynie krytykowany. Natomiast Google ze swoją synchronizacją master-slave (online) O(1) i czasem offline O(n) śmieje się z tyłu, jak cała technologiczna blogosfera zupełnie nie rozumie o czym pisze. Bo tylko w tym przypadku chwali się tych, którzy są technologicznie opóźnieni, a pionierów krytykuje. Cholerna ludzka ignorancja w głównym przekazie.
Przechodzę z Androida, więc mam proste pytanie: z artykułu zrozumiałem, że problem pojawia się podczas synchronizacji na wielu urządzeniach (np. zapisanej pozycji gry na iPhonie i iPadzie). Będę miał tylko iPhone'a, więc pytanie czy ten problem dotyczy również kopii zapasowej tylko i tylko jednego urządzenia na iCloud. Po prostu sprzedam iPhone'a, kupię nowy i prześlę pełną kopię zapasową z iCloud, kiedy będę miał wszystkie ustawienia i ustawienia aplikacji w nowym telefonie (hasła do sieci społecznościowych, zapisane pozycje w grach...), takie jak ostatni raz na starym, czy to tak działa? Jest to jeden z głównych powodów migracji, tj. Androida bez roota nie da się wykonać w całości kopii zapasowej, a kiedy przesiadłem się na inny telefon, pobraliśmy wszystkie aplikacje, ale musiałem ponownie dokonać w nich wszystkich ustawień ręcznie, a przy dziesiątkach aplikacji to dodatkowe godziny czasu. Czy iCloud rozwiązuje ten problem dla jednego urządzenia w iTunes? Dzięki za informację.
Nie musisz się bać! iCloud na urządzeniach Apple działa w 100% WSZĘDZIE. Około 2 miesiące temu kupiłem iP5 i usiadłem w kawiarni na Wi-Fi, wprowadziłem hasło do konta Apple i po 10 minutach miałem DOKŁADNY obraz mojego starego iPhone'a, wydaje mi się, że nawet ostatnio otwarte aplikacje!!! Wszystkie dane z iPhone'a zostaną pobrane na nowy iP w ciągu około 10 minut (do tego czasu miałem pełny iPhone 32 GB z danymi z pierwszego iPhone'a kilka lat temu, więc może to zająć jeszcze mniej) na nowy iP, nawet przy układ aplikacji, które trzeba (oczywiście) jeszcze pobrać, ale wszystkie będą zawierać dane, które zawierały w poprzednim iPhonie. Wszystko, co musisz zrobić ręcznie, to zalogować się do aplikacji, które tego wymagają.)
Nie musisz się bać! iCloud na urządzeniach Apple działa w 100% WSZĘDZIE. Około 2 miesiące temu kupiłem iP5 i usiadłem w kawiarni na Wi-Fi, wprowadziłem hasło do konta Apple i po 10 minutach miałem DOKŁADNY obraz mojego starego iPhone'a, wydaje mi się, że nawet ostatnio otwarte aplikacje!!! Wszystkie dane z iPhone'a zostaną pobrane na nowy iP w ciągu około 10 minut (do tego czasu miałem pełny iPhone 32 GB z danymi z pierwszego iPhone'a kilka lat temu, więc może to zająć jeszcze mniej) na nowy iP, nawet przy układ aplikacji, które trzeba (oczywiście) jeszcze pobrać, ale wszystkie będą zawierać dane, które zawierały w poprzednim iPhonie. Wszystko, co musisz zrobić ręcznie, to zalogować się do aplikacji, które tego wymagają.)
Muszę też w tym pomóc. Jako początkujący programista próbuję zaimplementować iCloud w mojej aplikacji.. Nie miałem jeszcze żadnej utraty danych.. Wszystko działa tak, jak powinno.. Chyba mi się udało szczęście.. Jedyne co mi się może nie podobać to synchronizacja prędkości.. Załadowanie ok. 1 MB danych trwa zdecydowanie dłużej niż pobranie klasycznego 1 MB danych z Internetu.. Ponieważ jednak pobierane są wszystkie logi, jest to dopuszczalne .. Tak, bardzo łatwo jest zepsuć swój adres IP lub iPada, tak że wymaga to usunięcia wszystkich danych z iCloud, a następnie przywrócenia całego telefonu.. (Dane pozostaną tam, ale zostanie wygenerowany błąd, jeśli ustawienia będą nieprawidłowe.. ) Ale wszystko zostaje przywrócone w 10 minut i ten problem dotyczy tylko programistów.. Zwykłemu śmiertelnikowi to się nie stanie.. Na iOS6 zdecydowanie nie mam większych problemów z iCloud w postaci danych Core i trochę się z tym nie zgadzam z artykułem.
No cóż, pierwsze zdanie „Steve Jobs wprowadził usługę, która do dziś przeraża wielu programistów. To nic innego jak iCloud”. A o tym, że tak naprawdę jest to tylko problem z synchronizacją Core Data, dowiemy się około 12 linijek niżej.
Do diabła, w imię sensacji trzeba nagiąć fakty, żeby uczynić je jeszcze bardziej sensacyjnymi.