[{"data":1,"prerenderedAt":240},["ShallowReactive",2],{"project-31885272":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":37,"post_text":40,"what":41,"said":63,"maker_in_thread":137,"shape":149,"grid":153,"attempts":202,"same_week":203,"maker_shows":38,"maker_hidden":233,"reader_version":234,"card":235},"31885272","scala-js-games","Simple games ported to Scala 3 – Try them in the browser","title","Show HN: Simple games ported to Scala 3 – Try them in the browser","https:\u002F\u002Fgithub.com\u002Fwiringbits\u002Fscala-js-games","github.com","AlexITC",1656260348,2022,70,25,787,2570,31,"notable","games","browser games","web_app",[24,25,21,26],"scala.js","scala 3","scala migration","quiet",null,{"positive":30,"neutral":30,"mixed":31,"critical":32},1,0,2,4,{"idea":35,"performance":36},{"positive":30,"critical":31},{"positive":31,"critical":32},[31,31,31,31,31,31,31,31,31,31,38,31,30,31,30,31,31,31,31,31,31,39,31,31,31],5,3,"Hi everybody, I just ported some 2018-scalajs games to Scala 3, it is amazing that such 8-year old code base required less than an hour to get all the games working in Scala 3.\n\nI encourage you to try Scala.js\u002FScala3 which work really nice.",{"problem":28,"audience":28,"pricing":28,"motivation":42,"time_to_build":48,"stack":52,"openness":61,"stage":62,"team_size":61},{"value":43,"source":44,"evidence":45},"Show that Scala.js and Scala 3 work well; port old games","maker",[46],{"id":47},"post",{"value":49,"source":44,"evidence":50},"less than an hour to get games working in Scala 3",[51],{"id":47},[53,57],{"value":54,"source":44,"evidence":55},"Scala 3",[56],{"id":47},{"value":58,"source":44,"evidence":59},"Scala.js",[60],{"id":47},"unknown","launched",{"praise":64,"objections":80,"requests":92,"questions":100,"alternatives":115},[65,73],{"value":66,"source":67,"evidence":68},"Scala.js ecosystem is amazing, sharing code between frontend and backend","commenter",[69],{"id":70,"by":71,"text":72},"31885717","esarbe","Scala\u002FScala.js is an amazing ecosystem. It simply astounding being able to take code from the frontend and move it to the backend by simply importing it in a different project.…",{"value":74,"source":67,"evidence":75},"Scala 2 to 3 migration is fairly easy",[76],{"id":77,"by":78,"text":79},"31890411","wbillingsley","If you're not using macros, moving from Scala 2 to 3 is pretty easy. I have a bunch of 2d games I use in programmable learning environments. This is the commit that did a lot of…",[81],{"value":82,"source":67,"evidence":83},"Games use 100% CPU and run at low FPS on some browsers",[84,88],{"id":85,"by":86,"text":87},"31886090","hombre_fatal","The games on the live demo eat 100% of a CPU and go down to crawling FPS on my Macbook M1 Pro once I start using the keyboard to control them. Wonder what's going on.",{"id":89,"by":90,"text":91},"31888301","crispyalmond","Just tried on Windows with Edge, and I'm experiencing this as well.",[93],{"value":94,"source":67,"evidence":95},"Diff against Scala 2 version",[96],{"id":97,"by":98,"text":99},"31886232","marwis","Would be nice to see the diff vs Scala 2",[101,108],{"value":102,"source":67,"evidence":103},"Which web backend framework works with Scala",[104],{"id":105,"by":106,"text":107},"31913876","leaflets2","But what do you use on the backend? What web framework? That you like and works well with Scala Looking forward to one day having ported all my Scala code to 3 :-)",{"value":109,"source":67,"evidence":110},"Which platforms Scala.js UI frameworks target",[111],{"id":112,"by":113,"text":114},"31886490","amelius","What platforms do they target?",[116,123,130],{"value":117,"source":67,"evidence":118},"Slinky and Laminar UI frameworks",[119],{"id":120,"by":121,"text":122},"31885871","threeseed","For those interested in Scala.js I would recommend two UI frameworks: a) Slinky - https:\u002F\u002Fslinky.dev b) Laminar - https:\u002F\u002Flaminar.dev",{"value":124,"source":67,"evidence":125},"scalajs-react",[126],{"id":127,"by":128,"text":129},"31887837","halfmatthalfcat","Or the OG React Scala.js library: https:\u002F\u002Fgithub.com\u002Fjapgolly\u002Fscalajs-react",{"value":131,"source":67,"evidence":132},"Reagent and Reframe for Clojure",[133],{"id":134,"by":135,"text":136},"31887312","Ketan-fullstack","Reagent and Reframe",{"comments":138,"answered":39,"key":139},8,[140,143,146],{"id":141,"text":142},"31887066","They target browsers. Slinky is very similar to React while Laminar is more idiomatic Scala.",{"id":144,"text":145},"31890502","> Veautiful - https:\u002F\u002Fwww.wbillingsley.com\u002Fveautiful\u002F Thanks for sharing, first time I see this project mentioned. > Any day now, I'll get a chance to improve the documentation…",{"id":147,"text":148},"31886447","Weird, I just tried Safari in a Macbook Air M1 and it doesn't eat much CPU, still, the experience is far smoother in Firefox, for some reason, the games get slooow in Safari.",{"commenters":150,"max_depth":138,"maker_replies":138,"first_comment_mins":151,"lifespan_hours":152},15,50,54,[154,156,159,160,161,164,165,166,170,172,173,175,176,178,180,181,183,187,189,191,193,195,197,199,200],[120,31,31,155,121,31],"other\u002Fneutral\u002Fnone",[157,31,31,155,158,31],"31885887","cultofmetatron",[112,31,31,155,113,31],[141,31,31,155,11,30],[162,31,31,155,163,31],"31886742","billfruit",[134,31,31,155,135,31],[127,31,31,155,128,31],[167,31,31,168,169,31],"31889430","other\u002Fpositive\u002Fnone","thelittlenag",[171,31,31,168,78,31],"31890352",[144,31,31,155,11,30],[70,30,38,174,71,31],"project\u002Fpositive\u002Fidea",[105,30,31,155,106,31],[85,32,30,177,86,31],"project\u002Fcritical\u002Fperformance",[147,32,31,179,11,30],"project\u002Fneutral\u002Fperformance",[89,32,30,177,90,31],[182,32,31,179,11,30],"31889477",[184,32,31,185,186,31],"31890045","commenter\u002Fneutral\u002Fnone","vips7L",[188,32,31,185,11,30],"31890295",[190,32,31,185,186,31],"31890542",[192,32,31,185,11,30],"31890603",[194,32,31,155,186,31],"31890743",[97,39,39,196,98,31],"project\u002Fneutral\u002Fnone",[198,39,31,196,11,30],"31886312",[77,39,31,155,78,31],[201,39,31,196,11,30],"31890464",[],[204,209,214,219,224,229],{"id":205,"name":206,"points":207,"category":208},"31903076","min-dalle",663,"ai",{"id":210,"name":211,"points":212,"category":213},"31925871","TAXSIM.app",497,"finance_crypto",{"id":215,"name":216,"points":217,"category":218},"31897430","PRQL 0.2",378,"languages",{"id":220,"name":221,"points":222,"category":223},"31910622","Legible News",320,"productivity",{"id":225,"name":226,"points":227,"category":228},"31921830","Brevity 500",193,"learning_science",{"id":230,"name":231,"points":232,"category":223},"31891608","Yboard",165,false,"v2",{"id":236,"name":5,"line":6,"ai":233,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":28,"top":18,"kw":237,"maker":11,"domain":10,"tier":19,"attempts":31,"strip":238,"url":9,"mix":239,"praise":66,"objection":82,"sub":21},31885272,[24,25,21,26],"0000000000501010000003000",[30,30,31,32],1794036621854]