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

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