2011 წელს WWDC-ზე ბოლო კონფერენციაზე სტივ ჯობსმა წარმოადგინა სერვისი, რომელიც ჯერ კიდევ აშინებს ბევრ დეველოპერს. ეს სხვა არავინაა, თუ არა iCloud, პრობლემური MobileMe-ის დამხმარე მემკვიდრე. თუმცა, iCloud-იც კი არ არის შეცდომების გარეშე. და დეველოპერები აჯანყდებიან...
სტივ ჯობსმა პირველად მოახდინა iCloud-ის დემო ვერსია 2011 წლის ივნისში, სერვისი ამოქმედდა ოთხი თვის შემდეგ და უკვე ფუნქციონირებს დაახლოებით წელიწადნახევარი. გარეგნულად, შედარებით გლუვი სერვისი, რომელიც, ლეგენდარული ვიზიონერის სიტყვებით, "უბრალოდ მუშაობს" (ან მაინც უნდა იყოს), მაგრამ შიგნით, დაუოკებელი მექანიზმი, რომელიც ხშირად აკეთებს იმას, რაც სურს და დეველოპერებს არ აქვთ ეფექტური იარაღი. ის.
"ყველაფერი ავტომატურად ხდება და ძალიან ადვილია თქვენი აპების დაკავშირება iCloud შენახვის სისტემასთან." ჯობსმა თქვა მაშინ. როდესაც დეველოპერები ახლა ახსოვთ მის სიტყვებს, მათ ალბათ მოუწევთ ჯაგარი. ”iCloud უბრალოდ არ მუშაობდა ჩვენთვის. ჩვენ ნამდვილად დავხარჯეთ მასზე დიდი დრო, მაგრამ iCloud-ისა და Core Data სინქრონიზაციისას იყო ეს პრობლემები, რომელთა მოგვარებაც ჩვენ ვერ შევძელით. აღიარა მან Black Pixel სტუდიის ხელმძღვანელი, რომელიც პასუხისმგებელია, მაგალითად, ცნობილი RSS მკითხველისთვის NetNewsWire. მისთვის iCloud უნდა ყოფილიყო იდეალური გადაწყვეტა სინქრონიზაციისთვის, განსაკუთრებით იმ დროს, როდესაც Google აპირებს დახუროს თავისი Google Reader, მაგრამ ფსონი Apple-ის სერვისზე არ გამოვიდა.
არაფერი მუშაობს
გასაკვირია, რომ სერვისს, რომელსაც 250 მილიონზე მეტი მომხმარებელი ჰყავს და, შესაბამისად, მსოფლიოში ერთ-ერთი უდიდესია, აქვს ასეთი პრობლემები. საკითხის ზერელე შეხედვისას შეიძლება თითი დეველოპერებისკენ გაიშვიროთ, მაგრამ ისინი ამ მომენტში უდანაშაულოები არიან. iCloud ცდილობს ბევრი მათგანის დანერგვას თავის აპლიკაციებში, მაგრამ მათი მცდელობები ხშირად მარცხით მთავრდება. იმის გამო, რომ iCloud-ს სერიოზული პრობლემები აქვს სინქრონიზაციასთან დაკავშირებით.
[do action=”quote”]მე ვერც კი დავთვლი ყველა დეველოპერს, ვინც პრობლემას წააწყდა და საბოლოოდ დანებდა.[/do]
"მე გადავწერე ჩემი iCloud კოდი რამდენჯერმე იმ იმედით, რომ ვიპოვე სამუშაო გამოსავალი." მან დაწერა დეველოპერი მაიკლ გობელი. თუმცა, მან ვერ იპოვა გამოსავალი და, შესაბამისად, ჯერ არ შეუძლია თავისი აპლიკაციების, უფრო სწორად, App Store-ის მარკეტინგში. „არც კი შემიძლია დავთვალო ყველა დეველოპერი და კომპანია, რომლებსაც იგივე პრობლემები შეექმნათ, რაც მე მქონდა და საბოლოოდ უარი თქვეს. ასობით ათასი მომხმარებლის მონაცემების დაკარგვის შემდეგ, მათ უბრალოდ მიატოვეს iCloud.
Apple-ის ყველაზე დიდი პრობლემა iCloud-თან არის მონაცემთა ბაზის სინქრონიზაცია (Core Data). სხვა ორი ტიპის მონაცემი, რომელთა სინქრონიზაცია შესაძლებელია Apple-ის ღრუბლის საშუალებით - პარამეტრები და ფაილები - მუშაობს ლიმიტებში უპრობლემოდ. თუმცა, Core Data იქცევა სრულიად არაპროგნოზირებად. ეს არის მაღალი დონის ჩარჩო, რომელიც საშუალებას გაძლევთ სინქრონიზაცია მოახდინოთ მრავალი მონაცემთა ბაზის მოწყობილობებზე. "iCloud დაჰპირდა მონაცემთა ბაზის სინქრონიზაციის ყველა პრობლემის მოგვარებას Core Data მხარდაჭერით, მაგრამ ეს უბრალოდ არ მუშაობს." განაცხადა ერთ-ერთმა გამოჩენილმა დეველოპერმა, რომელმაც არ ისურვა ვინაობის დასახელება Apple-თან კარგი ურთიერთობის შესანარჩუნებლად.
ამავდროულად, Apple მთლიანად უგულებელყოფს ამ პრობლემებს, iCloud აგრძელებს რეკლამას, როგორც მარტივი გადაწყვეტის, და მომხმარებლები ამას ითხოვენ დეველოპერებისგან. მაგრამ დეველოპერის ყველა მცდელობის მიუხედავად, მომხმარებლების მონაცემები უკონტროლოდ ქრება და მოწყობილობები წყვეტს სინქრონიზაციას. "ამ პრობლემების მოგვარებას ხშირად საათები სჭირდება და ზოგიერთმა შეიძლება სამუდამოდ დაარღვიოს თქვენი ანგარიშები." კიდევ ერთი წამყვანი დეველოპერი ეყრდნობა Apple-ს და ამატებს: გარდა ამისა, AppleCare-ს არ შეუძლია ამ პრობლემების გადაჭრა მომხმარებლებთან.
„ჩვენ მუდმივად ვიბრძვით Core Data-ისა და iCloud-ის კომბინაციასთან. მთელი ეს სისტემა არაპროგნოზირებადია და დეველოპერს ხშირად აქვს შეზღუდული შესაძლებლობები მის ფუნქციონირებაზე გავლენის მოხდენისთვის. აღწერს ჩეხური განვითარების სტუდიას შეეხეთ ხელოვნებას, რომელმაც დაგვადასტურა, რომ მუდმივი პრობლემების გამო, ის ტოვებს ამ გადაწყვეტას და მუშაობს დამოუკიდებლად, რომელშიც მონაცემთა ბაზის სინქრონიზაციის ნაცვლად გამოიყენებს ფაილების სინქრონიზაციას. ამის შემდეგ ის შეძლებს ამისთვის iCloud-ის გამოყენებას, რადგან ფაილის სინქრონიზაცია ხდება მისი მეშვეობით უპრობლემოდ. ყოველივე ამის შემდეგ, ეს ასევე დადასტურებულია Jumsoft– ის დეველოპერების მიერ: "iCloud უდავოდ შესანიშნავი ინსტრუმენტია ფაილების პირდაპირი შენახვისთვის." თუმცა, Jumsoft-ს, სამწუხაროდ, სჭირდება Core Data მისი ცნობილი ფულის აპლიკაციისთვის და ეს არის დაბრკოლება.
[do action="quote"]iCloud და Core Data არის ყველა დეველოპერის ყველაზე საშინელი კოშმარი.[/do]
ბევრი პრობლემა ასევე წარმოიქმნება მოულოდნელი სიტუაციებიდან, რომლებიც შეიძლება ადვილად წარმოიშვას, მაგალითად, როდესაც მომხმარებელი გამოდის ერთი Apple ID-დან თავის მოწყობილობაზე და შედის მეორეში. Apple საერთოდ არ ითვალისწინებს მათ. „როგორ გადავჭრათ პრობლემა, როდესაც მომხმარებელი, რომელიც არ არის შესული iCloud-ში, ჩართავს აპლიკაციას, შემდეგ უერთდება iCloud-ს და ხელახლა იწყებს აპლიკაციას? ჰკითხა მან Apple-ის ფორუმებზე ერთ დეველოპერთან ერთად.
iCloud-თან დაკავშირებული ყველა პრობლემა მთავრდება აპლიკაციის მომხმარებლების იმედგაცრუებით, რომლებიც კარგავენ მონაცემებს, მაშინ როცა დეველოპერები ხშირად უბრალოდ უმწეოდ უყურებენ. "მომხმარებლები მომჩივიან და აპებს ერთი ვარსკვლავით აფასებენ." დაიჩივლა მან Apple-ის ფორუმებზე, დეველოპერმა ბრაიან არნოლდმა, რომელსაც ჯერ კიდევ არ მიუღია Apple-ისგან განმარტება, თუ რა უნდა გააკეთოს მსგავს პრობლემებთან ან საერთოდ რატომ ხდება ისინი. და ფორუმები სავსეა ასეთი ჩივილებით iCloud სინქრონიზაციის შესახებ.
ზოგიერთი დეველოპერი უკვე კარგავს მოთმინებას iCloud-თან დაკავშირებით და გასაკვირი არ არის. "iCloud და Core Data არის ყველა დეველოპერის ყველაზე საშინელი კოშმარი." განაცხადა ამისთვის ზღვარზე უსახელო დეველოპერი. ”ეს არის იმედგაცრუება, ზოგჯერ შეშლილი და ღირს უსასრულო საათობით პრობლემების მოგვარება.”
Apple დუმს. ის თავად გვერდს უვლის პრობლემებს
ალბათ გასაკვირი არ არის, რომ Apple-ის პრობლემები iCloud-თან ისე გადის, თითქოს არაფერი მომხდარა. Apple პრაქტიკულად არ იყენებს პრობლემურ Core Data-ს თავის აპლიკაციებში. რეალურად არის ორი iCloud – ერთი, რომელიც აძლიერებს Apple-ის სერვისებს და ერთი, რომელსაც სთავაზობენ დეველოპერებს. აპები და სერვისები, როგორიცაა iMessage, Mail, iCloud-ის სარეზერვო ასლი, iTunes, Photo Stream და სხვა, აგებულია სრულიად განსხვავებულ ტექნოლოგიაზე, ვიდრე ის, რაც ხელმისაწვდომია მესამე მხარის დეველოპერებისთვის. ანუ ის, რომელთანაც მუდმივი უსიამოვნებებია. iWork კომპლექტის აპლიკაციები (Keynote, Pages, Numbers) იყენებს იმავე API-ს, როგორც მესამე მხარის აპლიკაციებს, მაგრამ მხოლოდ დოკუმენტების ბევრად უფრო მარტივი სინქრონიზაციისთვის, რასაც Apple დიდ ყურადღებას აქცევს. როდესაც ისინი უშვებენ iCloud-ს და Core Data-ს თავიანთ აპლიკაციაში კუპერტინოში, ისინი არ არიან უკეთესი საიმედოობის თვალსაზრისით, ვიდრე მესამე მხარის დეველოპერები. Trailers აპლიკაცია, რომელიც იყენებს Core Data-ს სინქრონიზაციისთვის, თავისთავად საუბრობს და მომხმარებლები რეგულარულად კარგავენ ზოგიერთ ჩანაწერს.
თუმცა, თრეილერებით, რომლებიც არც თუ ისე პოპულარულია, ამ პრობლემების დაკარგვა შედარებით ადვილია. მაგრამ რა უნდა უთხრან ყველაზე პოპულარული აპლიკაციების დეველოპერებმა თავიანთ მომხმარებლებს, რომლებსაც უბრალოდ უნდა დაეყრდნონ iCloud-ის პრობლემურ Core Data-ს, მაგრამ ხშირად არ შეუძლიათ იმის გარანტია, თუ როგორი ფუნქციონალობა ავრცელებს Apple-ს თავის რეკლამებში? Apple რა თქმა უნდა არ დაეხმარება მათ. "შეიძლება ვინმეს Apple-იდან კომენტარი გააკეთოს ამ სიტუაციაზე?" ჰკითხა მან წარუმატებლად ფორუმზე, დეველოპერმა ჯასტინ დრისკოლმა, რომელიც იძულებული გახდა დაეხურა თავისი მომავალი აპლიკაცია არასანდო iCloud-ის გამო.
წლის განმავლობაში Apple არ ეხმარება დეველოპერებს, ამიტომ ყველას იმედი ჰქონდა, რომ რაღაც გადაიჭრებოდა მინიმუმ შარშანდელ WWDC-ზე, ანუ დეველოპერებისთვის განკუთვნილი კონფერენციაზე, მაგრამ აქაც Apple-მა დიდი დახმარება არ მოუტანა დეველოპერების უზარმაზარი წნეხის ქვეშ. მაგალითად, მან მოგვაწოდა კოდის ნიმუში, რომელიც შეიძლება გამოყენებულ იქნას ძირითადი მონაცემების სინქრონიზაციისთვის, მაგრამ ის შორს იყო დასრულებამდე. კიდევ ერთხელ, არანაირი მნიშვნელოვანი დახმარება. გარდა ამისა, Apple-ის ინჟინრებმა მოუწოდეს დეველოპერებს დაელოდონ iOS 6-ს. "IOS 5-დან iOS 6-ზე გადასვლამ ყველაფერი XNUMX%-ით გააუმჯობესა." დაადასტურა უსახელო დეველოპერის მიერ, "მაგრამ ეს ჯერ კიდევ შორს არის იდეალურისგან." სხვა წყაროების თანახმად, გასულ წელს Apple-ს მხოლოდ ოთხი თანამშრომელი ჰყავდა, რომლებიც ზრუნავდნენ Core Data-ზე, რაც აშკარად აჩვენებს, რომ Apple არ არის დაინტერესებული ამ სფეროთი. თუმცა კომპანიამ ამ ინფორმაციის კომენტირებაზე უარი თქვა.
ნახვამდის და შარფი
ყველა ნახსენები პერიპეტიების შემდეგ, გასაკვირი არ არის, რომ ბევრმა დეველოპერმა თქვა უარი iCloud-ზე, თუმცა, ალბათ, დამძიმებული გულით. სწორედ iCloud-მა უნდა მოიტანოს ის, რაც დეველოპერებს სურდათ - მარტივი გადაწყვეტა, რომელიც უზრუნველყოფს მონაცემთა იდენტურ მონაცემთა ბაზებს და მათ მუდმივ სინქრონიზაციას ორ ან მეტ მოწყობილობაზე. სამწუხაროდ, რეალობა სხვაა. „როდესაც iCloud-ს და Core Data-ს ვუყურებდით, როგორც გადაწყვეტას ჩვენი აპისთვის, მივხვდით, რომ ვერ გამოვიყენებდით, რადგან არაფერი იმუშავებდა. განაცხადა iPhone-ისა და Mac-ის ზოგიერთი ყველაზე გაყიდვადი აპლიკაციის დეველოპერმა.
კიდევ ერთი მიზეზი, რის გამოც iCloud არ არის ადვილად მიტოვებული, არის ის ფაქტი, რომ Apple ამჩნევს აპლიკაციებს, რომლებიც იყენებენ მის სერვისებს (iCloud, Game Center) და სრულიად უგულებელყოფს მათ, რომლებსაც არაფერი აქვთ Apple App Store-ში. iCloud ასევე კარგი გამოსავალია მარკეტინგის თვალსაზრისით.
Dropbox, მაგალითად, შემოთავაზებულია, როგორც შესაძლო ალტერნატივა, მაგრამ ის აღარ არის მომხმარებლისთვის მოსახერხებელი. ერთის მხრივ, მომხმარებელმა უნდა დააყენოს სხვა ანგარიში (iCloud ხელმისაწვდომია ავტომატურად ახალი მოწყობილობის შეძენით) და მეორეს მხრივ, საჭიროა ავტორიზაცია აპლიკაციის ფუნქციონირებამდე, რაც ასევე ვერ ხერხდება iCloud-თან დაკავშირებით. და ბოლოს - Dropbox გთავაზობთ დოკუმენტების სინქრონიზაციას, რასაც დეველოპერები უბრალოდ არ ეძებენ. მათ სურთ მონაცემთა ბაზების სინქრონიზაცია. „Dropbox-მა, რომელიც ამჟამად ყველაზე ხშირად გამოიყენება, საკუთარი თავი დაამტკიცა მონაცემთა სინქრონიზაციისთვის. მაგრამ რაც შეეხება მონაცემთა ბაზის სინქრონიზაციას, ჩვენ დამოკიდებულები ვართ iCloud-ზე. აღიარებს Roman Maštalíř Touch Art-იდან.
[do action="quote"]მე მინდა ვუთხრა Apple-ს, რომ მათ ყველაფერი გაასწორეს iOS 7-ში, მაგრამ მე ნამდვილად არ მჯერა.[/do]
თუმცა, 2Do აპლიკაციის დეველოპერებს არ ჰქონდათ მოთმინება, iCloud-თან მრავალი უარყოფითი გამოცდილების გამო, მათ საერთოდ არ სცადეს Apple სერვისი და მაშინვე გამოიტანეს საკუთარი გამოსავალი. ”ჩვენ არ ვიყენებთ iCloud-ს ყველა პრობლემის გამო. ეს არის ძალიან დახურული სისტემა, რომელზეც ჩვენ ვერ შეგვეძლება იმდენი კონტროლი გვექნება, რამდენიც გვსურს. ” გვითხრა დეველოპერმა ფაჰად გილანიმ. ”ჩვენ ავირჩიეთ Dropbox სინქრონიზაციისთვის. თუმცა, ჩვენ არ ვიყენებთ მის დოკუმენტის სინქრონიზაციას, ჩვენ დავწერეთ ამისთვის ჩვენი სინქრონიზაციის გადაწყვეტა“.
სხვა ჩეხურ სტუდიას, Madfinger Games, არც iCloud აქვს თავის თამაშებში. თუმცა, პოპულარული სათაურების შემქმნელი Dead Trigger და Shadowgun არ იყენებს Apple სერვისს ოდნავ განსხვავებული მიზეზების გამო. "ჩვენ გვაქვს ჩვენი ღრუბელზე დაფუძნებული სისტემა თამაშში პოზიციების შესანახად, რადგან გვინდოდა შეგვეძლო თამაშის პროგრესის გადატანა პლატფორმებს შორის." David Kolečkář-მა გაგვიმხილა, რომ თამაშების შემუშავების გამო, როგორც iOS-ისთვის, ასევე Android-ისთვის Madfinger Games-ისთვის, iCloud არასოდეს ყოფილა გამოსავალი.
იქნება გამოსავალი?
რაც დრო გადის, ბევრი დეველოპერი ნელ-ნელა კარგავს იმედს, რომ Apple მოიფიქრებს გამოსავალს. მაგალითად, შემდეგი WWDC მოდის, მაგრამ რადგან Apple პრაქტიკულად ახლაც არ ურთიერთობს დეველოპერებთან, არ არის მოსალოდნელი, რომ ის WWDC-ზე მოვიდეს რჩევებითა და პასუხებით სავსე ხელებით. „ყველაფერი რაც შეგვიძლია გავაკეთოთ არის Apple-ისთვის შეცდომების შესახებ ანგარიშების გაგზავნა და იმედი გვაქვს, რომ ისინი გამოასწორებენ მათ. წუხდა iOS-ის უსახელო დეველოპერი, მეორე კი მის სენტიმენტებს ეხმიანებოდა: „მე მინდა ვუთხრა Apple-ს, რომ მათ ყველაფერი გაასწორეს iOS 7-ში და iCloud-ის გამოყენება საბოლოოდ შეიძლება უპრობლემოდ ორი წლის შემდეგ, მაგრამ მე ამის ნამდვილად არ მჯერა. მაგრამ ეს იქნება iOS 7, რომელიც უნდა იყოს წლევანდელი WWDC-ის ცენტრალური თემა, ასე რომ დეველოპერებს შეუძლიათ მინიმუმ იმედი ჰქონდეთ.
თუ Apple არ შესთავაზებს iCloud-თან დაკავშირებული პრობლემების გადაჭრას თავისი ოპერაციული სისტემის ახალ ვერსიაში, ეს შეიძლება იყოს წარმოსახვითი ლურსმანი კუბოში ზოგიერთი პროექტისთვის. ერთ-ერთი დეველოპერი, რომელიც აქამდე იყო iCloud-ის ძლიერი მხარდამჭერი, ამბობს: „თუ Apple-მა ეს არ გაასწორა iOS 7-ში, ჩვენ მოგვიწევს გემის მიტოვება“.
წავიკითხე მთელი სტატია და ვერ გავიგე საიდან მოვიდა. რაც შეეხება iCloud-ის და Apple-ის აპლიკაციებს და iCloud-ის მთლიან ინტეგრაციას iPhone-სა და Mac-ში, ის ჩემთვის მუშაობს 100%-ით და მე ვიყენებ Apple-ის თითქმის ყველა აპლიკაციას, რომელიც მხარს უჭერს მას. გარდა ამისა, მე ასევე გადმოწერილი მაქვს Apple-ის თრეილერის აპლიკაცია (მიუხედავად იმისა, რომ ის არ არის SVK iTunes-ზე, ამიტომ ამის მიზეზი უნდა იყოს), მაგრამ არ ვიცი, სად არის აქ ინტეგრირებული iCloud - უნდა ვნახო. ზევით. გარდა ამისა, მე არასოდეს მქონია პრობლემა iCloud-თან სხვა აპლიკაციებში. მე ვიყენებ Appig-ის ToDo-ს და iCloud-ის სინქრონიზაცია მუშაობს 100%-ით და მაქვს 100-ზე მეტი საქმე iPhone-სა და Mac-ის აპლიკაციებში, რომლებიც მჭიდრო კავშირშია ჩემს სამუშაოსთან, ამიტომ მჭირდება 100% სამუშაო სინქრონიზაცია, ამიტომ არ ვიცი რასთან აქვს 2Do-ს პრობლემები. . ასევე პირდაპირ დავუკავშირდი Appigo-ს და მათ მირჩიეს iCloud (გარდა ფასიანი სინქრონიზაციის სერვისისა, რა თქმა უნდა) სინქრონიზაციისთვის, რადგან dropbox-იც ვცადე და არ ვიყავი კმაყოფილი (Dropbox-ს ყოველდღე ვიყენებ ფაილების სინქრონიზაციისთვის). მე ასევე ვიყენებ iBear ფულის აპს ყოველდღე და არასდროს მქონია პრობლემა iCloud-ის სინქრონიზაციასთან დაკავშირებით! თქვენ ასევე წერთ, რომ Dropbox უკეთესი გამოსავალია ფაილების სინქრონიზაციისთვის, მაგრამ მანამდე წერია, რომ iCloud შესანიშნავია ფაილების სინქრონიზაციისთვის - ეს ცოტა არ მესმის. გარდა ამისა, თქვენს მიერ ნახსენები სათამაშო სტუდიები არ იყენებენ iCloud-ს, მაგრამ სარგებლობენ მათი სერვისით ANDROID მოწყობილობებთან სინქრონიზაციის გამო, სადაც iCloud არ არსებობს, ასე რომ, ვფიქრობ, აქ პრობლემა არ არის. ასე მუშაობს Real Racing 3 ბოლო დროს და ასევე მხოლოდ Apple-ის გარდა სხვა მოწყობილობებთან სინქრონიზაციისას. სხვა თამაშები, რომლებიც იყენებენ iCloud-ს, ასევე მუშაობენ (ჩემი გამოცდილებით). და ბოლოს, თქვენ წერთ, რომ iCloud არის ძალიან დახურული სისტემა და ეს არის პრობლემა - ეს ყოველთვის არ იყო Apple-ის ფილოსოფია? თუ iCloud მთლიანად ღია იყო, ის საერთოდ არ იმუშავებდა. ასევე, მთელი iOS დახურულია და ვიღაც ყოველთვის წუწუნებს, რომ ამას ვერ ახერხებს, მაგრამ ჩემი აზრით, ეს მხოლოდ კარგია, არა? მართალია, ფორუმებზე და დეველოპერების პრეტენზიები არ წამიკითხავს, მაგრამ iCloud-ით 100%-ით კმაყოფილი ვარ, ამიტომ ამ სტატიამ გამაოცა.
დიახ, როგორც სტატიაში წერია. მშობლიური აპლიკაციები მუშაობს და მომხმარებელი ვერაფერს ამჩნევს
ამოისუნთქე, ეს რეალურად არის ნათარგმნი სტატია TheVerge-დან, ამიტომ ვკითხულობთ ელის ჰამბურგერის აზრს და არა იმდენად ონდრეი ჰოლცმანის (არაფერი ჩემს წინააღმდეგ, უბრალოდ ყველაფერს ვაძლევ).
სინამდვილეში, არავის აინტერესებს, რას აკეთებს Apple კარგად. ყველას სურს გაიგოს, რას აკეთებს არასწორად, რადგან ასეთ საიტებზე რეკლამა ორჯერ მეტს გამოიმუშავებს. რადგან სხვაგვარად ვერ ავხსნი, რატომ იქნება მთელი სტატია იმის შესახებ, თუ როგორ "iCloud საერთოდ არ მუშაობს", მიუხედავად იმისა, რომ ეს არის პრობლემები Core Data სინქრონიზაციასთან, რომელიც დაახლოებით iCloud-ის 1/10-ია. მაგრამ როგორც ვთქვი, არავის აინტერესებს რა მუშაობს თითქმის იდეალურად:
- iTunes Match
– iTunes ღრუბელში
- iMessage
- Facetime
- ფოტო ნაკადი
- iCloud-ის სარეზერვო ასლები
- კონტაქტები
- შეხსენებები
- კალენდრები
- პოდკასტები
- Გასართობი ცენტრი
ბოლოს და ბოლოს, თუნდაც ერთი პატარა ნაწილი იდეალურად არ მუშაობს, სტატიები იმაზეა, თუ როგორ "არაფერი მუშაობს", რადგან ეს ხუმრობაა. თუმცა, ადამიანებმა, რომლებმაც იციან ფაქტები, იციან, რომ ამას არაფერი აქვს საერთო ობიექტურ გაშუქებასთან.
დღეს არის ყველაფრის კრიტიკა (განსაკუთრებით ისე, რომ ადამიანმა ამის შესახებ წინასწარ არაფერი წაიკითხოს), ასე რომ, ან შეუერთდით საბჭოს ან ინტერნეტ მასები ჩაგქოლავთ.
თუ სტატია არ გულისხმობს, რომ მხოლოდ Core Data არის კრიტიკული, მაშინ ეს უნდა ყოფილიყო. დიახ, სტატია ძირითადად აღებულია TheVerge-დან, რადგან ჩვენ უბრალოდ ვერ მივიღებთ ასეთ ინფორმაციას, არ გვაქვს წვდომა. შევეცადე სხვა დეველოპერებს მაინც მეკითხა iCloud-თან დაკავშირებული პრობლემების შესახებ, რომ მცოდნოდა რა და რატომ და მათ მეტ-ნაკლებად დაადასტურეს ეს ჩივილები.
თქვენ წერთ, რომ ყველას სურს გაიგოს, რა არის არასწორი და ეს მართალია. როგორ ფიქრობთ, ღირდა თუ არა ყოველკვირეულად დაწერა იმის შესახებ, თუ როგორ მუშაობს iCloud სინამდვილეში, როგორ მუშაობს ყველაფერი ერთის გარდა და რომ მონაცემები ლამაზად არის სინქრონიზებული? არ ვიცი, ძალიან საინტერესო თემა მეგონა, რომელიც ახლა პოპულარული გახდა, განსაკუთრებით საზღვარგარეთ, ამიტომ დავწერე.
ამ შემთხვევაში არ ვრცელდება ის, რომ თქვენ უნდა მიუთითოთ წყარო, საიდანაც არის სტატია? ან ძირითადად სტატიის თარგმანია? მაშ ეს შენი შემოქმედება კი არა, სხვისია? გარდა ამისა, მსგავსი სტატიები უაზროდ ავრცელებს ეჭვებს, როგორც ეს არის მარეკ ოდეჰნალის ქვემოთ მოცემულ კომენტარში !!!
სტატიის წყარო თავიდანვე ჩამოთვლილია ბოლო წინადადების ქვეშ, ისევე როგორც ყველა სხვა სტატიისთვის Jablíčkář-ზე.
უკაცრავად, ეს ვერ გავიგე
ისე, არც ისე კარგად გამოდის - გააკეთე პატარა ექსპერიმენტი: წაიკითხე მხოლოდ სათაური და შემდეგ ყველა სუბტიტრები - აქედან მაქვს განცდა, რომ iCloud კიბოსზე უარესია (და რომ სადღაც Core Data არსებობს, მაგრამ უპირველეს ყოვლისა მე უნდა გვახსოვდეს, რომ iCloud აბსოლუტურად არ მუშაობს, როგორც თქვენ წერთ ერთ სუბტიტრში - ყოველ შემთხვევაში, ის არ არის გამორიცხული). ცოტას ესმის, თუ როგორ ფიგურირებს Core Data iCloud-ში და ეს სტატია ნამდვილად არ აწუხებდა ამის ახსნას. ის, რომ რამდენიმე აბზაცში ახსენეთ, ნამდვილად არ არის საკმარისი. და მე ვერსად ვერ ვხედავ მრავალფეროვნებას - თქვენ არ გჭირდებათ მთელი სტატიის დაწერა იმის შესახებ, რომ ყველაფერი მუშაობს. მაგრამ ათასსიტყვიან სტატიაში ერთხელაც არ არის ნახსენები, რომ iCloud-ის ყველა სხვა ნაწილი ისე ნელა მუშაობს, როგორც მე მგონია... ისე, ახლანდელი განწყობისთვის დამახასიათებელია - გააკრიტიკეთ Apple, რეკლამა ამართლებს. და უნდა აღინიშნოს, რომ არცერთი კონკურენტული კომპანია არ გვთავაზობს მსგავს გადაწყვეტილებას... ამისთვის ადგილი აღარ რჩება, არა?
არ მინდა ვინმეს ვურჩიო, მაგრამ ვიცავ წესს: თუ რამე ვერ გავიგე, არ ვწერ.
თუ მშვიდი სახით მეტყვი, რომ სტატია ობიექტურად მიგაჩნია ან ერთზე მეტ თვალსაზრისს გამოხატავს, სამწუხაროდ, სიცილი მომიწევს.
დიახ, სუბტიტრები ცოტა უფრო აგრესიულად ავირჩიე, ხანდახან ზედმეტად, მე ამას ვეთანხმები. იქ არის ნახსენები, რომ iCloud-ის სხვა ფუნქციები მუშაობს. ასევე აღნიშნულია იმის შესახებ, რომ iCloud გთავაზობთ იმას, რასაც სხვა სერვისები არ სთავაზობს. იქ არ არის, რომ iCloud სთავაზობს მას, როგორც ერთადერთს. არსებობს ზემოხსენებული Dropbox, რომელიც ყველაზე გავრცელებული ალტერნატივაა, მაგრამ ის ნამდვილად არ გვთავაზობს იმას, რასაც iCloud აკეთებს, ანუ მონაცემთა ბაზის სინქრონიზაციას.
სტატია გამოხატავს უფრო მეტ შეხედულებას ამ საკითხზე ისე, რომ რამდენიმე დეველოპერი საუბრობს იმავე თემაზე. რაც მე პირადად მქონდა შესაძლებლობა მეკითხა რამდენიმე დეველოპერ სტუდიას, ყველამ დამიდასტურა, რომ უბრალოდ პრობლემაა Core Data-სთან.
ეს უცნაურია, რადგან როცა ვკითხულობ ჰაკერების ამბებს, მხარდაჭერის ფორუმებს ან დისკუსიებს Verge-ზე, დეველოპერების დაახლოებით ნახევარი ამბობს, რომ მათ არ ჰქონიათ ამის პრობლემა (ამ დისკუსიაშიც კი გვყავს ადამიანები, რომლებიც თავად ამბობენ იგივეს). მაგრამ თქვენ უბრალოდ ისაუბრეთ დეველოპერებთან, სადაც მათ 100% გითხრეს, რომ ეს არ მუშაობს. საინტერესოა, როგორც ჩანს, ძალიან სავარაუდოა - მე ნამდვილად ვერ გავბედავ იმის თქმას, რომ იმ ადამიანების აზრი, ვისთვისაც ეს მუშაობდა, ისინი ... ჰმ ... დაეცა.
თუ ვაშლებს ვაშლებს შევადარებთ (hehe), Dropbox და iCloud Document Sync ორივე იდეალურად მუშაობს. ასე რომ, მე ვერ ვხედავ მიზეზს Dropbox-ის აღსანიშნავად, როდესაც ვსაუბრობთ Core Data სინქრონიზაციაზე.
მოკლედ, რაც მე უბრალოდ არ მესმის არის ის, რომ თქვენ მთელი სტატია დააფუძნეთ იმაზე, რომ iCloud არ მუშაობს - წერტილი. თქვენ ახსენეთ, რომ საქმე ეხება მხოლოდ Core Data სინქრონიზაციას მე-13 ხაზზე. მაგრამ სტატიის აბსოლუტური უმრავლესობა იმაზეა, თუ როგორ არ მუშაობს iCloud, როგორც ასეთი. Coz უბრალოდ არ შეესაბამება სიმართლეს. რომ ეს უფრო სენსაციაა, ალბათ მართალია. მაგრამ თუ გსურთ ფაქტობრივად სწორად დაწეროთ, მაშინ ამას ყურადღება უნდა მიაქციოთ. იმიტომ რომ, როცა ქვემოდან იყურები, არიან ადამიანები, რომლებმაც ზუსტად ისე გაიგეს, როგორც შენ დაწერე - რომ iCloud არ მუშაობს - და სწორედ ამიტომ დაიწყეს კითხვა, მუშაობს თუ არა iCloud-ის სარეზერვო ასლი. ვფიქრობ, ეს საუკეთესო მტკიცებულებაა იმისა, თუ როგორ ჟღერდა ეს ადამიანების უმეტესობისთვის.
მე მოგწერთ იმას, რაც მე მივწერე ავტორს The Verge-ზე: ეს არ არის პირადი ბლოგი, სადაც არ შეიძლება სიცრუის გავრცელება. მას რეალურად კითხულობს მილიონობით (და ჯაბლიკერის შემთხვევაში ათასობით) ადამიანი, რომლებსაც გჯერათ და რასაც წერთ ფაქტებად თვლიან. ასე რომ, ეს არ არის საბაბი, რომ თქვენ არ გაარკვიეთ რაზე იყო საუბარი სტატიის დაწერამდე. თუნდაც ამის გაგება შემეძლოს. მე უარესად მიმაჩნია, რომ შერჩევით ამოაგდებ ფაილს ფაქტების შესატყვისად, ასე რომ შედეგი არის გამარტივებული სტატია, რომელიც დევს სენსაციას.
მაგრამ მე მესმის, რომ სტატიის სათაური რომ იყოს "რატომ არ მუშაობს რატომღაც, Core Data სინქრონიზაცია?", ალბათ გაცილებით ნაკლებად წაკითხული იქნებოდა. და აქ არის გამყოფი ხაზი ხარისხსა და რაოდენობას შორის შექმნას.
მე თვითონ ვკითხე ხუთ ჩეხ დეველოპერს (ოთხმა უპასუხა), ერთმა უცხოელმა და მათ ზოგადად დაადასტურეს, რომ არის/არის პრობლემა Core Data-სთან. არ ვამბობ, რომ ეს ყველასთვის ასეა, მაგრამ მოკლედ, ვინც ვიკითხე, დაადასტურეს ის, რაც სხვაგან წავიკითხე. სამწუხაროდ, დადებითი პასუხი არ მიმიღია, რასაც სხვაგვარად სტატიაში აღვნიშნავდი. მე შემეძლო მეტი დეველოპერების აღწერა, მაგრამ მივწერე ყველა ჩეხ დეველოპერს, ვინც თავში მომივიდა და დავამატეთ რამდენიმე უცხოელიც, რომლებთანაც გვაქვს კონტაქტები, მაგრამ ყველა არ ურთიერთობს.
სამწუხაროა, რომ არ დავრჩი სტატიის „iCloud-ის ორი სახე“ თავდაპირველ ვერსიაზე, რადგან ვაღიარებ, რომ ეს ბევრად უფრო შესაფერისი იქნებოდა და უბრალოდ სხვა სათაური სტატიას სრულიად განსხვავებულ ელფერს მიანიჭებდა. მაგრამ ახლა ვეღარ დავიბრუნებ.
დიახ, ეს ალბათ ბევრად განსხვავებულად ჟღერს. მე მჯერა შენი ამ დეველოპერებთან ერთად, წავიკითხე ასობით ადამიანის აზრი სხვადასხვა ფორუმზე და იქ დავინახე, რომ ასეა pol on pol. იმის გამო, რომ ბევრი ადამიანი ნამდვილად იყენებს Core Data სინქრონიზაციას უპრობლემოდ - თუ ისინი იყენებენ მარტივ სტრუქტურებს და სათანადოდ აქვთ შერწყმა, მაშინ პრობლემა არ უნდა იყოს. CDS-ს (ბირთვული მონაცემთა სინქრონიზაცია) არ აქვს შეცდომები განხორციელებაში ისევე, როგორც პრინციპში - მაგალითად, რა უნდა გააკეთო, როცა ორი მონაცემთა ბაზა გაქვს საერთო წინაპართან, თითოეულში შეიტანე ცვლილებები და შემდეგ ცდილობ ამ ცვლილებების გადატანას. და ეს ცვლილებები კონფლიქტია? ეს არის საკმაოდ დიდი და საკმაოდ რთული პრობლემა მონაცემთა ბაზასთან (O(mn^2)) და ჯერ არავის არ გადაუწყვეტია დამაკმაყოფილებლად, შემდეგ Apple შეეცდება, როგორც ერთ-ერთი რამდენიმედან.
მე თითქმის ვწუხვარ იმ ადამიანების გამო, რომლებმაც ბევრი რამ არ იციან ამის შესახებ, მოდი აქ, წაიკითხე სტატია და წავიდნენ იმ განცდით, რომ iCloud არის ნაგავი. ამავდროულად, როგორც ადრე დავწერე, ათობით ფუნქცია, რომელიც უპრობლემოდ მუშაობს, მართლაც გასაოცარია და რამდენჯერმე დამიზოგა ბევრი მონაცემი. ასე რომ, მე ეს ფაილი უსამართლოდ მივიჩნიე CSD-ის ძალიან რთული პრობლემის გამო, რომელიც გმობს მთელ iCloud-ს - სამწუხაროდ, ზოგიერთმა ადამიანმა ეს მართლაც ასე გაიგო.
რაც შეეხება სტატიას Core Data Sync-ის პრობლემების შესახებ - სიამოვნებით წავიკითხავ და მადლობელი ვიქნები მის შესახებ დამატებით ინფორმაციას. უბრალოდ სირცხვილია, რომ CDS-მა დაიჭირა მთელი iCloud (და არა მხოლოდ თქვენს წარდგენაში, არამედ ცოტა E. Hamburger-ის წარდგენაში, თუმცა ის ცდილობდა როგორმე გამოეყო - და შემდეგ ათობით სერვერი, რომლებმაც დაიპყრეს - გამარტივებული - გამოქვეყნდა სტილით "iCloud სასარგებლოა").
მე არ ვფიქრობ, რომ Apple ამას იმსახურებს - განსაკუთრებით იმიტომ, რომ არავინ ცდილობს პრობლემის გადაჭრას.
ეს სტატია პრაქტიკულად მხოლოდ უკმაყოფილო დეველოპერებისა და მათი პრობლემების პერიფრაზირებაა ერთ ადგილზე. მე არ მაქვს პირადი გამოცდილება დეველოპერებთან და iCloud-თან დაკავშირებით, უბრალოდ გამოვიყენე ხელმისაწვდომი ინფორმაცია.
ფაქტების დასამატებლად, სიმართლე ისაა, რომ slave-slave სტილის მონაცემთა ბაზების სინქრონიზაცია არის O(mn^2) პრობლემა, რომელსაც არც Google და არც Oracle არ შეეცდებიან (მაშინ როდესაც Apple-მა უკვე ღირსეულად მოაგვარა იგი ზომიერად რთული სტრუქტურებისთვის). Apple არის ერთადერთი კომპანია, რომელიც ცდილობს ამის მოგვარებას, მაგრამ მას მხოლოდ ამის გამო აკრიტიკებენ. მეორეს მხრივ, Google თავისი master-slave სინქრონიზაციით (ონლაინ) O(1) და ზოგჯერ ოფლაინ O(n) უკან იცინის იმაზე, რომ მთელ ტექნოლოგიურ ბლოგოსფეროს აბსოლუტურად არ ესმის, რაზე წერს. რადგან მხოლოდ ამ შემთხვევაში აფასებენ მათ, ვინც ტექნოლოგიურად ჩამორჩებიან და პიონერებს აკრიტიკებენ. ჯანდაბა ადამიანური უცოდინრობა პირველ გადაცემაში.
მე გადავდივარ ანდროიდზე, ამიტომ მაქვს მარტივი შეკითხვა: სტატიიდან მივხვდი, რომ პრობლემა არის რამდენიმე მოწყობილობაზე სინქრონიზაციისას (მაგ. შენახული თამაშის პოზიცია iPhone-სა და iPad-ში). მე მექნება მხოლოდ iPhone, ამიტომ საკითხავია, ეს პრობლემა ეხება თუ არა მხოლოდ და მხოლოდ ერთი მოწყობილობის სარეზერვო ასლს iCloud-ზე. მე უბრალოდ გავყიდი ჩემს iPhone-ს, ვიყიდი ახალს და ავტვირთავ სრულ სარეზერვო ასლს iCloud-დან, როცა ახალ ტელეფონში მექნება ყველა პარამეტრი და აპლიკაციის პარამეტრი (პაროლები სოციალური ქსელებისთვის, შენახული თამაშის პოზიციები...) მაშ, როგორ მოხდა. მუშაობს ბოლო დროს ძველში? ეს არის მიგრაციის ერთ-ერთი მთავარი მიზეზი, ე.ი. Android-ის გარეშე root-ის სრული სარეზერვო ასლის შექმნა შეუძლებელია და როცა სხვა ტელეფონზე გადავედი, ყველა აპი გადმოვწერეთ, მაგრამ ხელახლა მომიწია მათში არსებული ყველა პარამეტრის ხელით გაკეთება და ათობით აპლიკაციით, ეს არის დამატებითი დრო. აგვარებს თუ არა iCloud ამ პრობლემას iTunes-ში ერთი მოწყობილობისთვის? Მადლობა ინფორმაციისთვის.
არ უნდა გეშინოდეს! iCloud Apple მოწყობილობებზე მუშაობს 100% ყველგან. დაახლოებით 2 თვის წინ ვიყიდე iP5 და ჩავჯექი ყავის მაღაზიაში wifi-ზე, შევიყვანე ჩემი Apple ანგარიშის პაროლი და 10 წუთში მქონდა ძველი iPhone-ის ზუსტი სურათი, ბოლო გახსნილი აპლიკაციებიც კი მეჩვენება!!! iPhone-ში არსებული ყველა მონაცემი ახალ iPhone-ზე ჩამოიტვირთება დაახლოებით 10 წუთში (მე მქონდა სრული 32 GB iPhone პირველი iPhone-ის მონაცემებით მანამდე რამდენიმე წლის წინ, ასე რომ შეიძლება უფრო ნაკლები დასჭირდეს) ახალ iPhone-ში, თუნდაც აპლიკაციების განლაგებით, რომლებიც (რა თქმა უნდა) ჯერ კიდევ უნდა იყოს ჩამოსატვირთი, მაგრამ ისინი ყველა შეიცავენ მონაცემებს, რომლებიც შეიცავდა წინა iPhone-ში. ყველაფერი რაც თქვენ უნდა გააკეთოთ ხელით არის შეხვიდეთ აპლიკაციებში, რომლებიც ამას მოითხოვს.)
არ უნდა გეშინოდეს! iCloud Apple მოწყობილობებზე მუშაობს 100% ყველგან. დაახლოებით 2 თვის წინ ვიყიდე iP5 და ჩავჯექი ყავის მაღაზიაში wifi-ზე, შევიყვანე ჩემი Apple ანგარიშის პაროლი და 10 წუთში მქონდა ძველი iPhone-ის ზუსტი სურათი, ბოლო გახსნილი აპლიკაციებიც კი მეჩვენება!!! iPhone-ში არსებული ყველა მონაცემი ახალ iPhone-ზე ჩამოიტვირთება დაახლოებით 10 წუთში (მე მქონდა სრული 32 GB iPhone პირველი iPhone-ის მონაცემებით მანამდე რამდენიმე წლის წინ, ასე რომ შეიძლება უფრო ნაკლები დასჭირდეს) ახალ iPhone-ში, თუნდაც აპლიკაციების განლაგებით, რომლებიც (რა თქმა უნდა) ჯერ კიდევ უნდა იყოს ჩამოსატვირთი, მაგრამ ისინი ყველა შეიცავენ მონაცემებს, რომლებიც შეიცავდა წინა iPhone-ში. ყველაფერი რაც თქვენ უნდა გააკეთოთ ხელით არის შეხვიდეთ აპლიკაციებში, რომლებიც ამას მოითხოვს.)
აქაც უნდა შევიტანო წვლილი.. როგორც დამწყები დეველოპერი, ვცდილობ iCloud-ის დანერგვას ჩემს აპლიკაციაშიც.. მონაცემების დაკარგვა ჯერ არ მქონია.. ყველაფერი მუშაობს როგორც უნდა.. მგონი მე ვარ იღბლიანი.. ერთადერთი, რაც შეიძლება არ მომეწონოს არის სიჩქარის სინქრონიზაცია.. დაახლოებით 1 მბ მონაცემთა ჩატვირთვას ნამდვილად მეტი დრო სჭირდება, ვიდრე კლასიკური 1 მბ ინტერნეტიდან. თუმცა, რადგან ყველა ჟურნალი ჩამოტვირთულია, მისაღებია. .. დიახ, ძალიან ადვილია თქვენი IP-ს ან iPad-ის შეცდომის დაყენება ისე, რომ მოითხოვს iCloud-დან ყველა მონაცემის წაშლას და შემდეგ მთელი ტელეფონის აღდგენას.. (მონაცემები დარჩება, მაგრამ შეცდომის შემთხვევაში შეიქმნება შეცდომა, თუ პარამეტრები არასწორია.. ) ოღონდ ყველაფერი 10 წუთში აღდგება და ეს პრობლემა მხოლოდ დეველოპერებს ეხება.. ჩვეულებრივი მოკვდავს არ დაემართება.. iOS6-ზე ნამდვილად არ მაქვს iCloud-თან ძირითადი პრობლემები Core მონაცემების სახით და გარკვეულწილად არ ვეთანხმები. სტატიასთან ერთად.
ოჰ, პირველი წინადადება „სტივ ჯობსმა შემოიტანა სერვისი, რომელიც დღესაც აშინებს ბევრ დეველოპერს. ეს სხვა არაფერია, თუ არა iCloud”. და ის ფაქტი, რომ ეს არის მხოლოდ Core Data სინქრონიზაციის პრობლემა, ჩვენ გავარკვევთ დაახლოებით 12 ხაზის ქვემოთ.
ჯანდაბა, სენსაციალიზმის გულისთვის, ფაქტები უნდა იყოს დახრილი, რომ კიდევ უფრო სენსაციური გახდეს.