I want to learn cross-platform application frameworks like React Native, Flutter, Xamarin, or Ionic, and I'm a web developer. I can learn other programming languages as well. But I'm confused about what to learn, which framework is best, and which framework will last long as the application grows further into complexity. ","private":false,"viewCount":711059,"publishedAt":"2022-10-13T06:01:07Z","upvotesCount":8,"decisionType":"getAdvice","fromTools":[],"toTools":[],"subjectTools":[{"type":"id","generated":false,"id":"Tool:101231777036008618","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774544144572","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773512118320","typename":"Tool"}],"services":[{"type":"id","generated":false,"id":"Tool:101231773788504314","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773512118320","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777036008618","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774544144572","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$Tool:101231773788504314.stackDecisions({\"first\":6}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:109159439921338018","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:106653750862288513":{"id":"106653750862288513","username":"leonidasreza","title":"","companyName":"","imageUrl":"https://img.stackshare.io/user/996182/default_4ee05cafa8a23ff702fb103e332b06cd60347cf1.png","thumbUrl":"https://img.stackshare.io/user/996182/thumb_4ee05cafa8a23ff702fb103e332b06cd60347cf1.png","displayName":"leonidasreza","__typename":"User"},"StackDecision:106653789272036355":{"user":{"type":"id","generated":false,"id":"User:106653750862288513","typename":"User"},"company":null,"link":null,"publicId":"106653789272036355","id":"106653789272036355","htmlContent":"

I have an app developed in Ionic 1, i have to migrate ¿Wich Plataform do you recommendate to use Ionic, React Native or Xamarin?","private":false,"viewCount":39607,"publishedAt":"2021-07-27T17:41:13Z","upvotesCount":2,"decisionType":"getAdvice","fromTools":[],"toTools":[],"subjectTools":[{"type":"id","generated":false,"id":"Tool:101231773788504314","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774544144572","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773512118320","typename":"Tool"}],"services":[{"type":"id","generated":false,"id":"Tool:101231773512118320","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774544144572","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773788504314","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$Tool:101231773788504314.stackDecisions({\"first\":6}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:106653789272036355","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:105894962059923732":{"id":"105894962059923732","username":"saberhosneydev","title":"Senior software engineer","companyName":"Shortcut","imageUrl":"https://avatars.githubusercontent.com/u/13848990?v=4","thumbUrl":"https://img.stackshare.io/empty-logo-circle.png","displayName":"Saber Hosney","__typename":"User"},"StackDecision:106490707864449114":{"user":{"type":"id","generated":false,"id":"User:105894962059923732","typename":"User"},"company":null,"link":null,"publicId":"106490707864449114","id":"106490707864449114","htmlContent":"

Greetings!\n\n

I have been searching lately for frameworks to build mobile apps.\n\n

We are trying to make something like a quiz app as a way for customers to contact us. I considered Ionic and React Native because we use JavaScript most of the time in websites, e.g., Vue.js/Nuxt.js. But Flutter seems a decent choice as well, especially since you can use Android/iOS-like components. \nWe are looking for something that works in the long term, something that's time and cost-effective, especially when paired with backend services like Firebase or a GraphQL server.\nI would like to know your opinions and recommendations. Thank you!","private":false,"viewCount":276362,"publishedAt":"2021-06-28T22:27:28Z","upvotesCount":7,"decisionType":"getAdvice","fromTools":[],"toTools":[],"subjectTools":[{"type":"id","generated":false,"id":"Tool:101231777036008618","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773788504314","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774544144572","typename":"Tool"}],"services":[{"type":"id","generated":false,"id":"Tool:101231775212866992","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777036008618","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777094096455","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775222204089","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773939333405","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774544144572","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773788504314","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231775212866992":{"name":"GraphQL","path":"/graphql","id":"101231775212866992","imageUrl":"https://img.stackshare.io/service/3820/12972006.png","thumbUrl":"https://img.stackshare.io/service/3820/thumb_12972006.png","stacks":33753,"fans":33462,"votes":310,"followingTool":false,"__typename":"Tool"},"Tool:101231773461393493":{"name":"Firebase","path":"/firebase","id":"101231773461393493","imageUrl":"https://img.stackshare.io/service/116/cZLxNFZS.jpg","thumbUrl":"https://img.stackshare.io/service/116/thumb_cZLxNFZS.jpg","stacks":40996,"fans":41446,"votes":1967,"followingTool":false,"__typename":"Tool"},"Tool:101231777094096455":{"name":"Nuxt.js","path":"/nuxt","id":"101231777094096455","imageUrl":"https://img.stackshare.io/service/7304/23360933.png","thumbUrl":"https://img.stackshare.io/service/7304/thumb_23360933.png","stacks":1946,"fans":2199,"votes":366,"followingTool":false,"__typename":"Tool"},"Tool:101231775222204089":{"name":"Vue.js","path":"/vue-js","id":"101231775222204089","imageUrl":"https://img.stackshare.io/service/3837/paeckCWC.png","thumbUrl":"https://img.stackshare.io/service/3837/thumb_paeckCWC.png","stacks":54310,"fans":52141,"votes":1562,"followingTool":false,"__typename":"Tool"},"Tool:101231773939333405":{"name":"JavaScript","path":"/javascript","id":"101231773939333405","imageUrl":"https://img.stackshare.io/service/1209/javascript.jpeg","thumbUrl":"https://img.stackshare.io/service/1209/thumb_javascript.jpeg","stacks":360776,"fans":312692,"votes":8072,"followingTool":false,"__typename":"Tool"},"$Tool:101231773788504314.stackDecisions({\"first\":6}).edges.2":{"node":{"type":"id","generated":false,"id":"StackDecision:106490707864449114","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:105351610806764095":{"id":"105351610806764095","username":"melanieverstraete","title":"Trainee","companyName":"Forcit","imageUrl":"https://img.stackshare.io/user/818274/default_a82f3e99322de26cd7089faa9481c60f38fa9c45.jpg","thumbUrl":"https://img.stackshare.io/user/818274/thumb_a82f3e99322de26cd7089faa9481c60f38fa9c45.jpg","displayName":"Melanie Verstraete","__typename":"User"},"StackDecision:105502517632587973":{"user":{"type":"id","generated":false,"id":"User:105351610806764095","typename":"User"},"company":null,"link":null,"publicId":"105502517632587973","id":"105502517632587973","htmlContent":"

Hi community, I am looking into how I should build my tech stack for a business/analytics platform. I am not very familiar with frontend development; when looking into cross-platform frameworks, I found a lot of options. \nWhat is the best cross-platform frontend framework to go with? I found Flutter interesting, but Ionic also looks promising? \nThank you for the advice! ","private":false,"viewCount":186599,"publishedAt":"2021-01-05T09:57:42Z","upvotesCount":5,"decisionType":"getAdvice","fromTools":[],"toTools":[],"subjectTools":[{"type":"id","generated":false,"id":"Tool:101231777036008618","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:103000628008831084","typename":"Tool"}],"services":[{"type":"id","generated":false,"id":"Tool:101231773788504314","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777036008618","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:103000628008831084":{"id":"103000628008831084","name":"Ionic React","slug":"ionic-react","title":"A native React version of Ionic Framework that makes it easy to build apps for iOS, Android, Desktop, and the web as a Progressive Web App","verified":false,"imageUrl":"https://img.stackshare.io/service/11426/preview.png","canonicalUrl":"/ionic-react","path":"/ionic-react","votes":0,"fans":117,"stacks":68,"followingTool":false,"followContext":null,"__typename":"Tool"},"$Tool:101231773788504314.stackDecisions({\"first\":6}).edges.3":{"node":{"type":"id","generated":false,"id":"StackDecision:105502517632587973","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:105432538506491146":{"id":"105432538506491146","username":"rizvi770","title":"Owner","companyName":"Mingchen Information And Technology","imageUrl":"https://img.stackshare.io/user/830838/default_afbe78949574cbfb5624b1c6a980f624246a4460.png","thumbUrl":"https://img.stackshare.io/user/830838/thumb_afbe78949574cbfb5624b1c6a980f624246a4460.png","displayName":"Rafsanjanee Rizvi","__typename":"User"},"StackDecision:105432578606798636":{"user":{"type":"id","generated":false,"id":"User:105432538506491146","typename":"User"},"company":null,"link":null,"publicId":"105432578606798636","id":"105432578606798636","htmlContent":"

Hi, I am a new developer using Ionic to develop a mobile app. I have recently tried to build a social mobile app which will have video calling, payment transaction, chatting, sharing, etc. I am now confused as to which framework I should use for the backend: Spring Boot or ExpressJS or NestJS? Any detailed advice will be better for my development. Looking forward to your valuable reply.","private":false,"viewCount":394768,"publishedAt":"2020-12-24T01:31:17Z","upvotesCount":4,"decisionType":"getAdvice","fromTools":[],"toTools":[],"subjectTools":[{"type":"id","generated":false,"id":"Tool:101231773920953695","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777826864518","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774666323920","typename":"Tool"}],"services":[{"type":"id","generated":false,"id":"Tool:101231777826864518","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773920953695","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774666323920","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773788504314","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231773920953695":{"id":"101231773920953695","name":"ExpressJS","slug":"expressjs","title":"Sinatra inspired web development framework for node.js -- insanely fast, flexible, and simple","verified":false,"imageUrl":"https://img.stackshare.io/service/1163/hashtag.png","canonicalUrl":"/expressjs","path":"/expressjs","votes":1617,"fans":28978,"stacks":32021,"followingTool":false,"followContext":null,"__typename":"Tool","thumbUrl":"https://img.stackshare.io/service/1163/thumb_hashtag.png"},"Tool:101231777826864518":{"id":"101231777826864518","name":"NestJS","slug":"nestjs","title":"A progressive Node.js framework for building efficient and scalable server-side applications by @kammysliwiec.","verified":false,"imageUrl":"https://img.stackshare.io/service/8747/4zsOyxko_400x400.jpg","canonicalUrl":"/nestjs","path":"/nestjs","votes":326,"fans":3638,"stacks":2460,"followingTool":false,"followContext":null,"__typename":"Tool","thumbUrl":"https://img.stackshare.io/service/8747/thumb_4zsOyxko_400x400.jpg"},"Tool:101231774666323920":{"id":"101231774666323920","name":"Spring Boot","slug":"spring-boot","title":"Create Spring-powered, production-grade applications and services with absolute minimum fuss","verified":false,"imageUrl":"https://img.stackshare.io/service/2927/nPzvMuo2_400x400.png","canonicalUrl":"/spring-boot","path":"/spring-boot","votes":1012,"fans":27689,"stacks":25980,"followingTool":false,"followContext":null,"__typename":"Tool","thumbUrl":"https://img.stackshare.io/service/2927/thumb_nPzvMuo2_400x400.png"},"$Tool:101231773788504314.stackDecisions({\"first\":6}).edges.4":{"node":{"type":"id","generated":false,"id":"StackDecision:105432578606798636","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:104164309525482981":{"id":"104164309525482981","username":"Pra3t0r5","title":"Full Stack Developer","companyName":"","imageUrl":"https://img.stackshare.io/user/590503/default_b73c6771d394634548666f18f4b63f511da7b82b.jpg","thumbUrl":"https://img.stackshare.io/user/590503/thumb_b73c6771d394634548666f18f4b63f511da7b82b.jpg","displayName":"Fernando Albertengo","__typename":"User"},"StackDecision:104904288464774044":{"user":{"type":"id","generated":false,"id":"User:104164309525482981","typename":"User"},"company":null,"link":{"type":"id","generated":true,"id":"$StackDecision:104904288464774044.link","typename":"Link"},"publicId":"104904288464774044","id":"104904288464774044","htmlContent":"

I'm currently doing some research to build a full cross-platform system that our personnel will use for various management and selling purposes, this is just a first step to migrate (and clean, lots of cleaning) a gigantic and obsolete system made in Java 7 with a nightmarish coupling between logic and view layers.\n\n

Since the system itself is considerably large, we are currently migrating the essential modules of its logic to an ExpressJS driven Restful API. \n\n

As a complementary project, I must find a way to share the highest possible amount of view code while achieving said cross-platform capacity.\n\n

My approach is the following:\n\n