Swift ou objective-c ? Débuter

SUNSHINESUNSHINE Membre
novembre 2016 modifié dans Objective-C, Swift, C, C++ #1

Salut,


 


Donc voilà  j'ai 17 ans je développe depuis déjà  plusieurs années différents langages notamment le PHP et le PAWN (qui est un langage moins connus) et je manie le MySQL comme stockage pour mes données.


 


Récemment, j'ai voulu découvrir le langage d'Apple, je me suis équipé d'un MacBook Air (11", 2go) qui fonctionne très bien puisque j'ai déjà  tenter quelques compilations de script et aucun problème à  signaler.


 


Je me trouve actuellement avec plusieurs questions, sans réelle réponse objective. La première est, faut-il se lancer directement sur du Swift ou de l'objective-C ? Quel langage est le mieux, le plus stable et avec le meilleur avenir ?


 


Le langage fournit par Apple (swift/objective-c) est-il suffisant en terme de fonction ? Faut-il, dans le cas contraire, passer par une API externe ou "includes" (je ne sais pas comment vous appelez cela chez la pomme) ?


 


Le MySQL est-il une méthode de stockage adapté pour des applications iOS ? Je parle là  de stocker des données communes à  plusieurs utilisateurs (statistiques, etc..) et non des données "locales" qui pourront facilement être traités par un simple fichier de configuration.


 


Merci.


Réponses

  • C'est très subjectif. J'aime beaucoup l'Objective-C, et il est très " mâture ", c'est à  dire peu changeant.


    Concernant Swift, il y a eu beaucoup de changements en 3 ans (trop, ce que je trouve très gênant), mais c'est lui qui devrait être le langage de prédilection dans le futur.


     


    Après, cela utilise les Cocoa(Touch), donc ça va, et elles font pas mal de boulot quand même.

    Il y a des lib/frameworks externes, et CocoaPods facilite ça.


    Tu peux utiliser MySQL, mais les applications sont plutôt sandboxées, donc tu risques d'être limité (sauf Web API, etc.)




  • C'est très subjectif. J'aime beaucoup l'Objective-C, et il est très " mâture ", c'est à  dire peu changeant.


    Concernant Swift, il y a eu beaucoup de changements en 3 ans (trop, ce que je trouve très gênant), mais c'est lui qui devrait être le langage de prédilection dans le futur.


     


    Après, cela utilise les Cocoa(Touch), donc ça va, et elles font pas mal de boulot quand même.

    Il y a des lib/frameworks externes, et CocoaPods facilite ça.


    Tu peux utiliser MySQL, mais les applications sont plutôt sandboxées, donc tu risques d'être limité (sauf Web API, etc.)




    Merci pour la réponse.


     


    Peux-tu m'en dire plus sur "Cocoa(Touch)" et "CocoaProds" ? J'utilise actuellement X-Code, est-ce une bonne base ?


    Sinon en ce qui concerne les librairies et framework elles sont disponible en téléchargement sur un site spécial (un peu comme les libs debian) ?

  • Peux-tu m'en dire plus sur "Cocoa(Touch)" et "CocoaProds" ? J'utilise actuellement X-Code, est-ce une bonne base ?
    Sinon en ce qui concerne les librairies et framework elles sont disponible en téléchargement sur un site spécial (un peu comme les libs debian) ?


    Cocoa, c'est on va dire le SDK OS X, Cocoa Touch, c'est celui d'iOS (et de tvOS/watchOS aussi normalement). Normalement XCode l'a fait pour toi.
     
    CocoaPods, c'est un moyen d'intégrer des externes (issues de GitHub essentiellement, tu peux aller sur CocoaPods pour voir ce que tu peux utiliser de déjà  tout fait, CocoaControls en liste aussi des graphiques et souvent compatibles CocoaPods).
  • D'accord et en ce qui concerne MySQL, y'a une librairie officielle et disponible où ?


  • Joanna CarterJoanna Carter Membre, Modérateur
    C'est pas nécessaire d'utiliser MySQL. SQLite est déjà  là  et, en plus, on a CoreData, qui est un framework de stockage OO ; du coup, pas besoin de SQL, tout est fait avec un modèle de tes classes, dont la "traduction" vers une base de données est fait tout automatiquement.
  • Sans hésitation, il faut choisir Swift. On pouvais légitimement se poser la question il y a 1 ou 2 ans, mais maintenant c'est clair. Il est normal qu'un développeur avec un long passé d'Objective-C hésite à  s'engager dans la voie du Swift, ce qui n'est pas ton cas. 

  • tabliertablier Membre
    novembre 2016 modifié #8

    Il est normal qu'un développeur avec un long passé d'Objective-C hésite à  s'engager dans la voie du Swift



    C'est exactement ça ! J'irai même plus loin, je programme depuis 1966, et ce qui m'a réellement marqué est l'avènement du C de base (1969 Kernighan & Ritche) que j'ai découvert dans les années 72, 74. Quand je lis des sources obj-c ou Swift, les réflexes acquis avec le C ressortent à  grande vitesse!  Aujourd'hui, à  quelqu'un qui hésite entre Obj-C et Swift, je dirais de se mettre au Swift (même si j'ai du mal à  m'y mettre moi-même).


  • CéroceCéroce Membre, Modérateur

    Quel langage est le mieux,

    Swift est assurément plus moderne; sa syntaxe et ses principes sont plus adaptés au développement tel que pratiqué aujourd'hui.

    le plus stable

    Comme l'indique Larme, si tu entends par stable le fait que la syntaxe du langage évoluera peu, alors Objective-C est le plus stable.

    et avec le meilleur avenir ?

    Clairement Swift.
     

    Le langage fournit par Apple (swift/objective-c) est-il suffisant en terme de fonction ? Faut-il, dans le cas contraire, passer par une API externe ou "includes" (je ne sais pas comment vous appelez cela chez la pomme) ?

    Tu confonds plusieurs choses:
    - le langage est ce qui concerne la syntaxe
    - chaque langage est habituellement doté d'un bibliothèque standard, pour effectuer des opérations de base: lire des fichiers, afficher du texte à  l'écran, travailler sur les dates, etc. Pour Swift et Objective-C, elle s'appelle Foundation
    - Apple fournit d'autres bibliothèques (frameworks). Par exemple UIKit (iOS) et AppKit (Mac) servent à  créer les interfaces utilisateur, CoreLocation gère la géolocalisation, SpriteKit est un moteur de jeu 2D, etc. La liste est longue, s'allonge tous les ans, et il est tout à  fait possible de coder une application complète avec.
    - des personnes publient en open-source du code qui s'appuie sur les bibliothèques ci-dessus. Cocoapods aide à  l'intégration de ce code dans tes projets.

    Le MySQL est-il une méthode de stockage adapté pour des applications iOS ?

    Non. En général, ton hébergeur ne te permet pas d'ouvrir l'accès à  ta base mySQL pour l'extérieur. Ton code PHP étant exécuté sur le même serveur que la BdD, il peut s'y connecter et lancer des requêtes SQL.

    En général, on crée un "Web service". C'est à  dire que l'appli iOS lance une requête HTTP vers ton serveur (ex. GET https://monsiteweb.fr/articles),et c'est le serveur qui fait le travail d'aller chercher les articles dans la BdD, et de les mettre en forme. Généralement, les réponses sont fournies au format JSON ou XML.

    Note qu'on peut avoir une BdD locale sur l'iPhone, (habituellement SQLite) et lancer des requêtes SQL, mais il n'y a évidemment pas de partage des données entre les utilisateurs.
Connectez-vous ou Inscrivez-vous pour répondre.