Mise à jour de Swift annoncée sur le blog de l’équipe de développement

Dans une première mise à jour du langage, les dictionnaires héritent d’une nouvelle syntaxe: Dictionary<TypeClef, TypeElement> devient

 [TypeClef: TypeElement]

tandis que les chaînes suivent leur exemple, ce qui veut dire que: Array<Int> devient

 [Int]

De leur côté, la syntaxe des intervalles s’est clarifiée. Tandis qu’avant il fallait distinguer .. et ... (de plus la convention était inversée par rapport à Ruby!) à partir de maintenant le troisième point est remplacé par < si la borne supérieure n’est pas inclue dans l’intervalle.

 1...10
 1..<10

Aux absents il faut compter les indicateurs de visibilité private, public et cætera ainsi que le traitement d'exceptions.

Il y a d'autres améliorations, en particulier par rapport à la valeur nil, et la correction de crashes dans le Playground et d’autres composants de XCode.

Lien vers le blog des développeurs: Swift Blog – Apple Developer

Apple et IBM joignent leurs forces dans un effort sans précédent visant à promouvoir iOS dans l’entreprise.

Les géants de la technologie que sont Apple et IBM annonçaient mardi un nouveau partenariat qui compte révolutionner l’utilisation de terminaux mobiles en entreprise avec des apps et des services spécialisés pour l’iPhone et l’iPad.

Dans le cadre du partenariat, qui étend l’initiative d’IBM MobileFirst sous le nom de « IBM MobileFirst for iOS », IBM a développé plus de 100 apps natives iOS et services taillés sur mesure pour les besoins de plusieurs industries.

« L’iPhone et l’iPad sont les meilleurs portables au monde et ont transformé le travail des gens avec un rôle dans leur business chez plus de 98% des entreprises du Fortune 500 et 92% des entreprises du Global 500 aujourd’hui », a déclaré Tim Cook, le patron d’Apple. « Pour la toute première fois, nous mettons les solutions d’analyse big data d’IBM, bien renommées, à portée de doigt des utilisateurs iOS. Cela ouvre de nouveaux marchés pour Apple. C’est un tournant majeur pour les entreprises et une chose que seuls Apple et IBM peuvent délivrer. »

Tim Cook mentionne aussi dans son interview avec la chaîne CNBC que, malgré sa part de marché importante en entreprise, Apple possède une marge de progression substantielle en pénétrant plus en profondeur dans ces industries. Le président d’IBM Ginni Rometty confirme, affirmant que l’utilisation professionelle des appareils portables actuelle se limite généralement à la messagerie électronique et à l’emploi du temps.

A côté des logiciels sur mesure, IBM va aussi offrir des services comme la gestion à grande échelle d’appareils, la sécurité, les outils d’analyse et l’intégration entre les portables. La plateforme IBM MobileFirst for iOS se résume à une solution pour entreprises intégrée qui inclut l’analyse, le stockage dans le Cloud, la sécurité et les outils d’intégration.

La société IBM met également à disposition des catalogues d’apps privés, des services de sécurité pour les données et les transactions, et sa suite de logiciels de productivité développée maison conçue spécifiquement pour l’initiative Mobilefirst. Pour leur part, les services ont des attaches avec la plate-forme développement Bluemix d’IBM et seront disponibles sur le store IBM Cloud Marketplace.

Au niveau support, Apple offre des services AppleCare d’une classe spéciale qui incluent le support technique 24/7 par téléphone et mél, tandis que IBM se charge des réparations sur site.

Le lancement de MobileFirst for iOS et des services correspondants se fera de façon progressive à partir de cet automne et au long de l’an 2015.

Source: AppleInsider

Google enregistre discrètement les liens visités pour ses clients publicitaires

* Qu’est-ce que c’est?

Après cliquer sur un lien, votre navigateur change la couleur du lien en question pour indiquer que vous l’avez visité récemment. Cela permet de ne pas tourner en rond et se retrouver sur une page que l’on a déjà lue. Mais pour les sites commerciaux cela permet au contraire de rappeler les sites déjà visités et potentiellement inciter à de nouveaux achats.

* Comment ça marche?

Le navigateur maintient une liste de sites récemment visités en mémoire; il est capable de déterminer rapidement si un lien qui apparaît sur la page est dans la liste ou non, pour ajuster la couleur du lien.

Cette liste s’appelle l’ « historique » et l’on peut l’effacer dans les options de confidentialité du navigateur.

* Et Google dans tout ça?

La société Google est à la fois une société qui développe le plus gros moteur de recherche au monde, et une agence de publicité. Pour elle, tout clic sur un lien publicitaire dans les résultats de recherche a de la valeur. Il est de son intérêt que les liens présentés sur la page vous intéressent.

Un bon critère pour juger si un lien peut potentiellement vous intéresser est de voir si vous avez déjà visité le site. Pour cela, Google stocke un cookie, un petit morceau de texte qui lui appartient, dans votre navigateur pour vous identifier en tant qu’utilisateur.

Il est possible d’aller sur le site de Google et de demander à ne pas stocker le cookie (auquel cas Google place un autre cookie, qui lui ne vous identifie pas, dans votre navigateur pour indiquer votre préférence).

Si vous optez pour ne pas avoir le cookie de Google, celui-ci ne peut pas vous cibler avec des pubs qui rejoignent vos centres d’intérêt. Cependant le navigateur enregistre automatiquement votre historique, et change la couleur des liens visités, ce qui les fait ressortir sur la page. Pour peu que le thème de la recherche que vous entrez dans Google rejoint vos centres d’intérêt, ce n’est pas trop mal. Il y a une chance que vous cliquiez sur de la pub.

* Le problème

Quand on efface l’historique, les liens publicitaires sont toujours de couleur « visité » dans les résultats de la recherche sur le site Google.

Cela n’est pas sensé arriver; sans historique, le navigateur ne peut pas savoir ce que vous avez déjà cliqué dans le passé. Il y a une autre force en jeu derrière cette mascarade.

Le coupable, vous vous en doutez, est Google lui-même. Allez dans les options de confidentialité de votre navigateur et choisissez, cette fois, d’effacer toutes les données associées à des sites Web. Attention: vous pouvez perdre votre nom d’utilisateur enregistré pour Gmail ou Facebook et autres personnalisations.

Maintenant les liens publicitaires n’apparaissent plus de couleur différente.

* Conclusion

Certes, Google ne stocke pas de cookie pour vous identifier et vous proposer des publicités ciblées si vous le demandez, mais c’est tout de même un peu roublard d’utiliser ce mécanisme pour vous inciter à cliquer quand vous avez tout fait pour vous faire oublier.

Apple a insinué que ses concurrents ne sont pas tant intéressés à garder confidentielles vos données personnelles qu’à collecter autant d’informations que possible sur vous et vos actions pour leurs propres buts; il y du vrai là-dedans.

Swift, le langage d’Apple

À la dernière conférence des développeurs Apple (WWDC), celui-ci a introduit son nouveau langage de programmation Swift.

Reposant sur les bases de Objective-C, son prédecesseur, et la bibliothèque d’objets Cocoa, Swift est un langage de programmation moderne et efficace.

S’il s’efforce d’offrir une syntaxe familière au développeur habitué à la famille de langages C (C++, C#, Java…) Swift n’hésite pas à s’en démarquer si cela aide à écrire un code plus concis ou plus sûr. Ainsi, on peut citer les parenthèses qui sont optionnelles autour d’une condition du if ou d’un indice de boucle for, et la révision de la syntaxe du switch pour éviter des erreurs de programmation courantes:

// Emploi du temps de bredelet
switch heure {
   case 9, 10, 11:
      activité = "Grasse mat'"
   case 12:
      activité = "Casse-croûte"
   case 13, 14, 15:
      activité = "Sieste"
   case 16, 17, 18:
      activité = "Travail"
   case 19:
      activité = "Dîner"
   case 20, 21:
      activité = "Repos"
   case 22, 23, 0, 1, 2, 3, 4, 5, 6, 7, 8:
      activité = "Dodo"
}

Comme l’illustre ce code, il est possible de spécifier plus d’une valeur pour chaque case. Du coup, il n’est pas nécessaire d’écrire break à la fin de chaque branche: si l’on veut vraiment continuer à exécuter la branche suivante il faut écrire fallthrough. Le comportement par défaut est plus clair et plus sûr que C.

Une autre différence qui saute aux yeux dans cet exemple est l’absence de point-virgule. Le point-virgule est optionnel en Swift.

Pour insérer une valeur dans une chaîne de caractères il suffit de l’entourer d’une paire de parenthèses avec un caractère d’échappement:

"Mr \(auteur) est un vrai lève-tard. " +
"À ce moment c'est \(activité)."

Les variables et les chaînes de caractères sont en Unicode.

Pour simplifier la tâche du développeur, il n’est pas nécessaire d’indiquer le type d’une variable s’il est le même que celui de sa valeur d’initialisation:

var x = 21

Si la variable n’est jamais réassigné une autre valeur, il faut utiliser let au lieu de var:

let y = 2 * x

À lire de façon mathématique: « soit y égal à deux x ».

Swift favorise les valeurs constantes, ce qui est une bonne idée au niveau performance et au niveau sûreté. Par défaut les méthodes déclarées dans un type struct ou enum ne permettent pas de modifier la structure. De même, les paramètres des fonctions sont constants par défaut.

Les paramètres nommés sont un héritage d’Objective-C, et s’apparentent dans leur utilisation à ce dernier. C’est-à-dire qu’un appel de fonction doit respecter l’ordre et le nommage des paramètres dans la déclaration de la fonction.

Par défaut, tous les paramètres d’un initialiseur (constructeur) sont nommés ce qui permet d’écrire plusieurs initialiseurs avec les mêmes types de paramètres:

struct Complexe {
   var réel: Double, imag: Double
   init(réel: Double, imag: Double) {
      self.réel = réel
      self.imag = imag
   }
   init(r: Double, angle: Double) {
      self.réel = r * cos(angle)
      self.imag = r * sin(angle)
   }
}

Lors de l’appel il est clair quel initialiseur invoquer:

let c = Complexe(r: 4.0, angle: pi / 5.0)

De même, les paramètres des méthodes d’un objet sont nommés à partir du second paramètre par défaut.

Une nouveauté dans Swift par rapport à son prédécesseur est le support des types génériques, là où Objective-C se contentait de faire appel au polymorphisme sur la classe NSObject. Au contraire d’Objective-C, la valeur nil n’est pas valide pour n’importe quel objet.

Au final, le langage Swift pourrait amener une nouvelle génération de développeurs à la plate-forme Mac et iOS. Pour ces nouveaux venus, la nouveauté la plus déroutante à laquelle ils seront confrontés est assurément le compteur de références automatique (ARC en anglais).

Hérité d’Objective-C, ce système permet de ne pas encombrer le programmeur avec l’utilisation judicieuse de directives de gestion de la mémoire. Par rapport à un ramasse-miette (garbage collector) ARC a l’avantage de permettre d’invoquer une fonction de « dé-initialisation » (destructeur) pour chaque objet de façon prévisible et immédiate.

Il a le désavantage de ne pas gérer les références en boucle. Cet inconvénient impose une discipline particulière pour référencer d’autres objets qui n’est pas évidente au premier abord.

Si Apple trouve moyen d’épargner cette difficulté aux néophytes, Swift pourrait trouver du succès même au-delà des produits de la marque.

L’équipe de développement de iOS 7 fait appel à des programmeurs supplémentaires

La version 7 de Apple iOS est un tel retravail du système d’exploitation portable que la société est en train de lui réaffecter des ingénieurs de développement pour être prêt à temps pour une première présentation lors de la conférence mondiale des développeurs Apple (WWDC) qui se tient à San Francisco du 10 au 14 juin.

Des sources qui souhaitent rester anonymes car elles ne sont pas autorisées à s’exprimer publiquement sur les plans d’Apple informent le blog AllThingsD que l’entreprise a « emprunté » des programmeurs à l’équipe de OS X 10.9 dans un effort apparent de tout parier sur iOS 7.
Lire la suite

La bizarre campagne de presse électronique à l’encontre de Tim Cook, patron d’Apple

Une nouvelle «campagne à mots couverts» à effet boule de neige a en ligne de mire le PDG d’Apple, Tim Cook, le posant comme un second choix pour diriger l’entreprise dans les mois qui suivent les meilleurs résultats trimestriels jamais enregistrés par la société.

La dernière rumeur, twittée par Doug Kass, attribuait un «cuisinage» de M. Cook à une source gnomique des Alpes.
Lire la suite