--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes techos.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+un...@googlegroups.com.
Pour envoyer un message à ce groupe, adressez un e-mail à tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos .
Pour plus d'options, visitez le site https://groups.google.com/d/optout .
Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
Allez une petite provocation, l'histoire de rendre la journée de vendredi bien productive
Kotlin est en train de devenir la solution de développement la plus sexy du monde?
IMHO TypeScript est aussi un candidat à ce titre. Il y a 2-3 ans, je ne le pensais pas, mais aujourd'hui quand je regarde Kotlin par apport à TypeScript, le gagnant n'est pas évident. Même de coté typage fort ou Java était toujours très fière d'elle , TS est loin devant Kotlin/Java. Par exemple, je peux définir un type qui doit être le nom de propriété d'un objet. C'est super pratique pour développer des frameworks. C'est comme si on pouvais faire PropertyUtils.getProperty(myBean,"inesistingPropertyName") et avoir l'erreur de compilation (souligné par l'IDE même avant la compilation)
Autre exemple : Destructuring Declarations sont plus complètes dans ES6 /TS on peut faire ceci :
const {a,b,
...others} = {a:1,b:2,c:3,d:4} //others = {c:3,d:4}
const [a,b,...c] = [1,2,3,4,5] // c= [3,4,5]
et avec Kotlin?
Cependant c'est vrai que Kotlin est possède quelques fonctionnalités sympathiques aussi, qui ne sont pas [encore?] dans TS.
Aussi:
- la concurrence c'est beau !
- Tout peut être faite en ES/TS aujourd'hui (du front (web/mobile/desktop) à la BD, avec solutions matures, pas experimentals), ce qui n'est pas le cas pour Java/Kotlin
- Citation de Henri : "Le truc c'est qu'il y a encore un besoin d'appli non web. En général pour des raisons de performance.". Est ce qu'on peut considérer IntelliJ comme l'appli de référence client riche Java ? J'adore Intellij. Alors Visual Studio Code est faite en TS, et voici une citation de comparaison de WebStom (petit frère de Intellij) vs VS Code : " Performance can be one of the biggest advantages of Visual Studio Code. .... It’s simply fast, there are no delays and everything gets updated almost immediately...."
Cheers,
Vitaliy
Haxe a l'air vraiment chouette, quand j'ai regarde il y a longtemps je l'ai classe "trop beau pour etre vrai ou alors il manque des trucs. »
Haxe a l'air vraiment chouette, quand j'ai regarde il y a longtemps je l'ai classe "trop beau pour etre vrai ou alors il manque des trucs. »Je passe mon temps libre sur https://dead-cells.com en ce moment => ça a l’air assez vrai
Pardon, j'ai pas vu ma première message partir, alors j'ai envoyé un autre tout à l'heure, en baissant un peu le nouveau de subjectivité :)
Cependant, concernant la plateforme, c'est justement TypeScript qui est bien présent (et mature) dans chaque partie de fullstack.
Front Mobile
- TS : (React Native, NativeSc ript, *-PhoneGap)
- Kotlin : (Uniquement Android)
Front Desktop
- see VS Code vs WebStorm
Front Web
- Typescript : Mainstream
- Kotlin avec JS transpiler : le retour de GWT ?
Server Side : Si j'avais mon argent à invertir, je commencerai ma recherche de coté node js. Il y a vraiment de frameworks très avancés pour adresser de problématiques que vous n'avez même pas encore eu. Mon dernier découvert : https://hasura.io/ GraphQL wrapper autour de portgressql avec la possibilité de "Trigger webhooks on database events ", juste pour donner une illustration. Des solutions de tests, contrôle de dette techniques sont bien matures aussi. Illustration : https://stryker-mutator.io/ (pour tester si votre "code coverage" vaut quelque chose ou pas : test your tests)
Pour moi la simplicité du stack est la valeur #1 (peu importe langage)
Le travail efficace, testabilité, maintenabilité, evolutivité, dette tech maîtrisée, etc.. dépendent largement (mais pas exclusivement) de la simplicité.
Vitaliy
> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.
> Pour envoyer un message à ce groupe, adressez un e-mail à tec...@googlegroups.com.
> Visitez ce groupe à l'adresse https://groups.google.com/group/techos .
> Pour plus d'options, visitez le site https://groups.google.com/d/optout .
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes techos.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.
Pour envoyer un message à ce groupe, adressez un e-mail à tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos .
Pour plus d'options, visitez le site https://groups.google.com/d/optout .
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.
Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.
Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.
Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.
Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.
Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.
Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.
Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.
Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.
Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
>Il faut etre sur que tu as les memes besoins que les auteurs
Silver bullet !!!! +1000 il faut commencer par la simplicité de la solution (architecture, stack, UI/UX) au besoin réel.
Aussi, tu as raison Laurent, il faut parfois faire de choses compliqués, surtout si ça simplifie quelque chose pour les autres. Si on a un projet avec Netty et une équipe de 30 indiens, on a l'intérêt de faire de choses de bas niveau une fois et laisser la tache simple pour les 29 autres.
>A l'evidence je n'ai pas vu tout le progres effectue par TypeScript, notamment concernant l'outillage. Mais le fait qu'il soit base sur JavaScript a tue mon enthousiasme d'entree de jeu.
Moi, c'était l'inverse, j'ai aussi raté la poussé de TS, mais c'est grâce à lui j'ai (re)découvert va véritable beauté de typage.
Exemple : je développe un framework interne qui propose un composant <MyGataDrid data=... > ; il faut lui filler les données à afficher, mais je veux que mon frmk soit cool et agréable à utiliser, donc je veux pouvoir lui filler les données sous forme de :
- Liste des objets
- Fonction qui retourne la liste des objets
- Fonction qui retourne une Promise qui retournera la liste de données
- String (url de l'API backend où mon composant il va aller chercher ses donner)
avec TypeScript je declare ca (version simplifié, il fallait définir un type nommé):
interface MyGataDridProps{
data : object[] | ()=>(object[] | Promise) | string
}
puis quand je travail avec la valeur de "data"
if (data instanceof Array){
const x = data.length; // no error here, no casting needed
} else if (data instanceof Function){
const res = data(); // no error here, no casting needed
if (res instanceof Promise){
....
} else {
const x = res.length ; // no error here, no casting needed, res is recognized as object[]
}
} else {
const s = res.toLowerCase(); // no error here, no casting needed, data is recognized as String
}
Aussi, par défaut c'est null-safe. "data" ne va jamais être null, il faut autoriser les nulls explicitement "data? : object[] | ()=>(object[] | Promise) | string"
(comme ça ou presque) en tout cas, vous avez compris l'idée que ici le compilateur nous AIDE vraiment.
BTW, c'est pas mal d'utiliser "const" à la place de "var" ou "val" ou "let", ça évite pas mal de pb. et quand tu declare avec "let" une variable qui n'est jamais modifié, on va se faire redressé par aussi.