Pechar anuncio

Na súa última presentación na WWDC en 2011, Steve Jobs presentou un servizo que aínda aterroriza a moitos desenvolvedores. Non é outro que iCloud, o saudable sucesor do problemático MobileMe. Non obstante, mesmo iCloud non está exento de erros. E os desenvolvedores están revoltos...

Steve Jobs fixo unha demostración de iCloud por primeira vez en xuño de 2011, o servizo lanzouse catro meses despois e xa leva en funcionamento aproximadamente un ano e medio. Na superficie, un servizo relativamente fluido que, en palabras do lendario visionario, "só funciona" (ou polo menos debería), pero no interior, un mecanismo indómito que moitas veces fai o que quere, e os desenvolvedores non teñen arma efectiva contra iso.

"Todo ocorre automaticamente e é moi sinxelo conectar as túas aplicacións ao sistema de almacenamento de iCloud", Jobs dixo nese momento. Cando os desenvolvedores lembran as súas palabras agora, probablemente teñan que erdas. "iCloud simplemente non funcionou para nós. Realmente pasámolo moito tempo, pero a sincronización de iCloud e Core Data tiña estes problemas que non puidemos resolver". admitiu o xefe do estudio Black Pixel, responsable, por exemplo, do coñecido lector de RSS NetNewsWire. Para ela, iCloud debería ser a solución ideal para a sincronización, sobre todo nun momento no que Google está a piques de pechar o seu Google Reader, pero a aposta polo servizo da mazá non saíu.

Non funciona nada

Sorprende que un servizo que ten máis de 250 millóns de usuarios e, polo tanto, é un dos maiores deste tipo no mundo, teña tales problemas. Nunha ollada superficial ao asunto, pódese apuntar co dedo aos desenvolvedores, pero neste momento son inocentes. iCloud tenta implementar moitos deles nas súas aplicacións, pero os seus intentos adoitan acabar en fracaso. Porque iCloud ten serios problemas coa sincronización.

[do action=”quote”]Nin podo contar todos os desenvolvedores que tiveron problemas e que finalmente deron por vencidos.[/do]

"Reescribín o meu código de iCloud varias veces coa esperanza de atopar unha solución que funcione", escribiu o desenvolvedor Michael Göbel. Non obstante, non atopou unha solución e, polo tanto, aínda non pode comercializar as súas aplicacións, ou máis ben a App Store. "Nin podo contar todos os desenvolvedores e empresas que tiveron os mesmos problemas que eu e que finalmente desistiron. Despois de perder centos de miles de datos de usuarios, simplemente abandonaron iCloud por completo.

O maior problema de Apple con iCloud é a sincronización de bases de datos (Core Data). Os outros dous tipos de datos que se poden sincronizar a través da nube de Apple -configuración e ficheiros- funcionan dentro de límites sen ningún problema. Non obstante, Core Data compórtase de forma completamente imprevisible. É un marco de alto nivel que che permite sincronizar varias bases de datos entre dispositivos. "iCloud prometeu resolver todos os problemas de sincronización de bases de datos co soporte de Core Data, pero simplemente non funciona". dixo un dos desenvolvedores destacados, que non desexaba ser nomeado para manter boas relacións con Apple.

Ao mesmo tempo, Apple ignora por completo estes problemas, iCloud segue a anunciarse como unha solución sinxela e os usuarios esíxeno aos desenvolvedores. Pero a pesar dos mellores esforzos do programador, os datos dos usuarios desaparecen sen control e os dispositivos deixan de sincronizarse. "Estes problemas adoitan tardar horas en resolverse e algúns poden romper as túas contas de forma permanente". outro desenvolvedor líder indícase en Apple e engade: "Ademais, AppleCare non pode resolver estes problemas cos clientes".

"Loitamos coa combinación de Core Data e iCloud todo o tempo. Todo este sistema é imprevisible e o programador adoita ter opcións limitadas para influír no seu funcionamento". describe o estudo de desenvolvemento checo Toque Art, que nos confirmou que por problemas persistentes está a abandonar esta solución e a traballar pola súa conta, na que utilizará a sincronización de ficheiros en lugar da sincronización de bases de datos como tal. Entón poderá usar iCloud para iso, porque a sincronización de ficheiros ten lugar a través del sen ningún problema. Despois de todo, isto tamén o confirman os desenvolvedores de Jumsoft: "iCloud é sen dúbida unha excelente ferramenta para o almacenamento directo de ficheiros". Non obstante, Jumsoft, por desgraza, necesita Core Data para a súa coñecida aplicación Money, e este é un escollo.

[do action="quote"]iCloud e Core Data son o peor pesadelo de todos os desenvolvedores.[/do]

Moitos problemas tamén derivan de situacións inesperadas que poden ocorrer facilmente, como cando un usuario pecha sesión nun ID de Apple no seu dispositivo e inicia sesión a través doutro. Apple non conta con eles en absoluto. "Como resolver o problema cando o usuario, que non inicia sesión en iCloud, activa a aplicación, conéctase a iCloud e inicia a aplicación de novo?" preguntou cun programador nos foros de Apple.

Todos os problemas con iCloud culminan na insatisfacción dos usuarios das aplicacións que perden datos, mentres que os desenvolvedores adoitan ver sen remedio. "Os usuarios queixanse comigo e valoran as aplicacións cunha estrela". queixouse nos foros da mazá, o desenvolvedor Brian Arnold, que aínda non recibiu unha explicación de Apple sobre que facer con problemas semellantes ou por que ocorren. E os foros están cheos de queixas deste tipo sobre a sincronización con iCloud.

Algúns desenvolvedores xa están perdendo a paciencia con iCloud, e non é de estrañar. "iCloud e Core Data son o peor pesadelo de todos os desenvolvedores". declarado para The Verge desenvolvedor sen nome. "É frustrante, enloquecedor ás veces e paga a pena infinitas horas de solución de problemas".

Apple está en silencio. El mesmo evita os problemas

Quizais non é de estrañar que os problemas de Apple con iCloud pasen coma se nada pasase. Apple practicamente non usa os problemáticos Core Data nas súas aplicacións. En realidade, hai dous iClouds: un que alimenta os servizos de Apple e outro que se ofrece aos desenvolvedores. As aplicacións e servizos como iMessage, Mail, copia de seguridade de iCloud, iTunes, Photo Stream e outros están construídos cunha tecnoloxía completamente diferente á que están dispoñibles para os desenvolvedores de terceiros. É dicir, aquel co que hai constantes problemas. As aplicacións da suite iWork (Keynote, Pages, Numbers) usan a mesma API que as aplicacións de terceiros, pero só para unha sincronización de documentos moito máis sinxela, que Apple ten moito coidado de facer funcionar. Cando permiten que iCloud e Core Data entren na súa aplicación en Cupertino, non son mellores en termos de fiabilidade que os desenvolvedores de terceiros. A aplicación Trailers, que usa Core Data para a sincronización, fala por si mesma e os usuarios perden regularmente algúns rexistros.

Non obstante, con Trailers, que non son tan populares, estes problemas son relativamente fáciles de perder. Pero entón, que deberían dicir aos seus usuarios os desenvolvedores das aplicacións máis populares, que simplemente teñen que confiar nos problemáticos Core Data en iCloud, pero moitas veces non poden garantir o tipo de funcionalidade que Apple anuncia constantemente nos seus anuncios? Apple certamente non os axudará. "Alguén de Apple pode comentar esta situación?" preguntou sen éxito no foro, o desenvolvedor Justin Driscoll, que se viu obrigado a pechar a súa próxima aplicación debido a un iCloud pouco fiable.

Durante o ano, Apple non axuda aos desenvolvedores, polo que todos esperaban que algo se resolva polo menos na WWDC do ano pasado, é dicir, unha conferencia destinada a desenvolvedores, pero aínda aquí Apple non trouxo moita axuda ante a enorme presión dos desenvolvedores. Por exemplo, proporcionou un código de mostra que se pode usar para sincronizar datos básicos, pero estaba lonxe de estar completo. De novo, ningunha axuda significativa. Ademais, os enxeñeiros de Apple instaron aos desenvolvedores a esperar a iOS 6. "Pasar de iOS 5 a iOS 6 mellorou ao XNUMX% as cousas", confirmado por un programador sen nome, "pero aínda está lonxe de ser ideal". Segundo outras fontes, Apple só tiña catro empregados coidando Core Data o ano pasado, o que demostraría claramente que Apple non está interesado nesta área. Non obstante, a empresa negouse a comentar esta información.

Adeus e bufanda

Despois de todas as vicisitudes mencionadas, non é de estrañar que moitos desenvolvedores dixesen que non a iCloud, aínda que probablemente co corazón pesado. Era iCloud o que debería traer finalmente algo que os desenvolvedores desexaban: unha solución sinxela que garante bases de datos idénticas e a súa sincronización constante en dous ou máis dispositivos. Por desgraza, a realidade é outra. "Cando miramos iCloud e Core Data como unha solución para a nosa aplicación, démonos conta de que non podíamos usalo porque nada funcionaría". dixo o desenvolvedor dalgunhas das aplicacións máis vendidas para iPhone e Mac.

Outra razón pola que non se abandona facilmente iCloud é o feito de que Apple se decata das aplicacións que utilizan os seus servizos (iCloud, Game Center), e ignora por completo aquelas que non teñen nada de Apple na App Store. iCloud tamén é unha boa solución desde o punto de vista do marketing.

Dropbox, por exemplo, ofrécese como unha posible alternativa, pero xa non é tan fácil de usar. Por unha banda, o usuario ten que configurar outra conta (iCloud está dispoñible automaticamente coa compra dun novo dispositivo) e, por outra banda, é necesaria a autorización para que a aplicación poida funcionar, que tamén falla con iCloud. E, finalmente, Dropbox ofrece sincronización de documentos, que simplemente non é o que buscan os desenvolvedores. Queren sincronizar bases de datos. "Dropbox, que é o máis utilizado neste momento, demostrou a súa eficacia na sincronización de datos. Pero cando se trata de sincronizar a base de datos, dependemos de iCloud". admite Roman Maštalíř de Touch Art.

[do action="quote"]Gustaríame dicirlle a Apple que solucionaron todo en iOS 7, pero realmente non o creo.[/do]

Non obstante, os desenvolvedores da aplicación 2Do non tiveron paciencia, debido a numerosas experiencias negativas con iCloud, non probaron en absoluto o servizo de mazá e inmediatamente deron a súa propia solución. "Non usamos iCloud por todos os problemas. É un sistema moi pechado sobre o que non poderiamos ter tanto control como nos gustaría". Díxonos o desenvolvedor Fahad Gillani. "Escollemos Dropbox para a sincronización. Non obstante, non usamos a súa sincronización de documentos, escribimos a nosa propia solución de sincronización para iso".

Outro estudo checo, Madfinger Games, tampouco ten iCloud nos seus xogos. Non obstante, o creador dos populares títulos Dead Trigger e Shadowgun non utiliza o servizo de Apple por razóns lixeiramente diferentes. "Temos o noso propio sistema baseado na nube para gardar posicións no xogo, porque queriamos poder transferir o progreso do xogo entre plataformas". David Kolečkář revelounos que debido ao desenvolvemento de xogos para iOS e Android para Madfinger Games, iCloud nunca foi unha solución.

Haberá solución?

A medida que pasa o tempo, moitos desenvolvedores están perdendo lentamente a esperanza de que Apple dea unha solución. Por exemplo, a próxima WWDC está chegando, pero como Apple practicamente non se comunica cos desenvolvedores aínda agora, non se espera que veña á WWDC cos brazos abertos cheos de consellos e respostas. "O único que podemos facer é seguir enviando informes de erros a Apple e esperamos que os solucionen". lamentou un desenvolvedor de iOS sen nome, e outro facéndose eco dos seus sentimentos: "Encantaríame dicirlle a Apple que arranxaron todo en iOS 7 e que iCloud finalmente pode usarse sen problemas despois de dous anos, pero realmente non o creo". Pero será iOS 7 o que debería ser o tema central da WWDC deste ano, polo que os desenvolvedores poden polo menos esperar.

Se Apple non ofrece unha solución aos problemas de iCloud nunha nova versión do seu sistema operativo, podería ser un cravo virtual no cadaleito para algúns proxectos. Un dos desenvolvedores que foi un firme partidario de iCloud ata agora di: "Se Apple non soluciona isto en iOS 7, teremos que abandonar o barco".

Fonte: TheVerge.com, TheNextWeb.com
.