[{"data":1,"prerenderedAt":441},["ShallowReactive",2],{"project-28128445":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":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":44,"post_text":46,"what":47,"said":92,"maker_in_thread":189,"shape":200,"grid":205,"attempts":404,"same_week":405,"maker_shows":33,"maker_hidden":433,"reader_version":434,"card":435},"28128445","Lona","Framework for responsive web apps in full Python without JS","title","Show HN: Lona – Framework for responsive web apps in full Python without JS","http:\u002F\u002Flona-web.org","lona-web.org","kiesel3rde",1628601585,2021,165,80,292,2533,12,"notable","dev_tools","web framework","library",[24,25,26,27],"python web framework","websockets","no javascript","server-driven ui","mixed",0.068,{"positive":31,"neutral":32,"mixed":33,"critical":34},8,11,1,5,25,{"docs":37,"idea":38,"execution":40,"performance":41,"design":43},{"positive":33,"critical":33},{"positive":34,"critical":39},0,{"positive":39,"critical":33},{"positive":39,"critical":42},2,{"positive":39,"critical":33},[45,33,45,45,45,39,34,39,39,39,45,34,34,45,39,34,45,39,39,39,39,39,39,39,39,39,39,34,33,34,34,39,45,34,45,33,39,33,33,39],3,null,{"problem":48,"audience":55,"pricing":46,"motivation":62,"time_to_build":46,"stack":66,"openness":89,"stage":90,"team_size":91},{"value":49,"source":50,"evidence":51},"Building interactive web apps without writing JavaScript","maker",[52],{"id":53,"by":11,"text":54},"28133589","Hi! I am fscherf on GitHub and started Lona as side project when covid related home office started in germany (march 2020). I am a full time python web developer and searched for…",{"value":56,"source":50,"evidence":57},"Python web developers who want to avoid JavaScript",[58,59],{"id":53,"by":11,"text":54},{"id":60,"by":11,"text":61},"28154683","Thats a very good question! I am a full stack developer and have no problems writing big applications in python, javascript, html, css and juggling multiple frameworks at once.…",{"value":63,"source":50,"evidence":64},"Side project started during covid home office to avoid JavaScript",[65],{"id":53,"by":11,"text":54},[67,71,75,79,85],{"value":68,"source":50,"evidence":69},"Python",[70],{"id":53,"by":11,"text":54},{"value":72,"source":50,"evidence":73},"JavaScript client",[74],{"id":53,"by":11,"text":54},{"value":76,"source":50,"evidence":77},"WebSockets",[78],{"id":53,"by":11,"text":54},{"value":80,"source":50,"evidence":81},"Bootstrap 3",[82],{"id":83,"by":11,"text":84},"28143962","I never used Framework7 but at first glance there it should be no problem to use it in a Lona project. Lona has a contrib module that supports Bootstrap3 and Chart.js at the…",{"value":86,"source":50,"evidence":87},"Chart.js",[88],{"id":83,"by":11,"text":84},"open_source","launched","solo",{"praise":93,"objections":110,"requests":136,"questions":146,"alternatives":154},[94],{"value":95,"source":96,"evidence":97},"Interesting approach, similar to Dash, Hotwire and Phoenix","commenter",[98,102,106],{"id":99,"by":100,"text":101},"28142788","otherflavors","This is like Hotwire, https:\u002F\u002Fhotwired.dev\u002F or Phoenix https:\u002F\u002Fphoenixframework.org\u002F , but for Python",{"id":103,"by":104,"text":105},"28144312","JPKab","Awesome work! How would you say it compares with similar frameworks like Plotly Dash and Streamlit which attempt to accomplish the same thing?",{"id":107,"by":108,"text":109},"28144239","cutler","Personally I think Rails + Hotwire nailed this. I believe there's also a Django port of Stimulus but maybe not Hotwire.",[111,126],{"value":112,"source":96,"evidence":113},"Performance concerns from round-trips per interaction",[114,118,122],{"id":115,"by":116,"text":117},"28154490","allthetime","I don't really understand the appeal. I guess if you're primarily a python programmer it's nice to be able to write the front and back in the same language; potentially sharing…",{"id":119,"by":120,"text":121},"28150642","worewood","This specialized protocol thing sounds like ASP.Net web forms all over again. Loved it for developing but performance usually s**ed balls",{"id":123,"by":124,"text":125},"28146214","maple3142","How well does this work in a high network lentency environment? If I understand correctly, it requires every user interaction to have a round-trip between client and server.",{"value":127,"source":96,"evidence":128},"No online demo available",[129,133],{"id":130,"by":131,"text":132},"28142759","hdjjhhvvhga","Do you have an online demo?",{"id":134,"by":131,"text":135},"28232076","Just to let you know a few people are still waiting for the demo. The project looks cool but we would like to see it work without having to download and install stuff. It may…",[137],{"value":138,"source":96,"evidence":139},"Online demo",[140,141,145],{"id":130,"by":131,"text":132},{"id":142,"by":143,"text":144},"28142933","myky22","+1, not in docs nor in github :(",{"id":134,"by":131,"text":135},[147],{"value":148,"source":96,"evidence":149},"How does it compare with Plotly Dash and Streamlit",[150,151],{"id":103,"by":104,"text":105},{"id":152,"by":104,"text":153},"28144336","Ok, so you should definitely look at Plotly Dash and Streamlit. They are both frameworks that have essentially accomplished the same goal. Plotly Dash doesn't use websockets…",[155,160,164,168,175,182],{"value":156,"source":96,"evidence":157},"Plotly Dash",[158,159],{"id":152,"by":104,"text":153},{"id":103,"by":104,"text":105},{"value":161,"source":96,"evidence":162},"Streamlit",[163],{"id":152,"by":104,"text":153},{"value":165,"source":96,"evidence":166},"Hotwire",[167],{"id":99,"by":100,"text":101},{"value":169,"source":96,"evidence":170},"REMI",[171],{"id":172,"by":173,"text":174},"28151455","awesomebytes","I'd like to point to the excellent REMI [1] library that provides similar capabilities to Lona. You can create web apps by only writing Python. They can also be executed as GUI…",{"value":176,"source":96,"evidence":177},"PyWebIO",[178],{"id":179,"by":180,"text":181},"28217458","Wang0618","Awesome work! I also developed a similar project called PyWebIO (https:\u002F\u002Fgithub.com\u002Fpywebio\u002FPyWebIO) last year. It provides less control to HTML element but provides a…",{"value":183,"source":96,"evidence":184},"Wt",[185],{"id":186,"by":187,"text":188},"28146381","m33k44","This is what Wt[0] does, but for C++. You can write the whole web application in C++ without writing any Javascript. The homepage of Wt itself is written in Wt. And there is some…",{"comments":190,"answered":191,"key":192},20,7,[193,194,197],{"id":53,"text":54},{"id":195,"text":196},"28143741","Unfortunately not, but i will have some at lona-web.org\u002Fdemos soon. There is a ready to use, barebones project linked in the docs. You have only to clone and run \"make server\" to…",{"id":198,"text":199},"28243558","I am sorry that you are still waiting. Currently i am very busy fixing bugs and helping people who started Lona projects in the last days. I only work on Lona at night because…",{"commenters":201,"max_depth":202,"maker_replies":190,"first_comment_mins":203,"lifespan_hours":204},41,9,404,234,[206,208,210,212,215,216,220,222,223,225,229,232,235,239,241,243,245,247,249,252,255,258,261,262,265,269,272,275,276,278,280,282,286,288,292,295,298,300,303,305,308,311,314,316,319,321,324,326,328,330,332,334,336,338,340,343,345,347,348,350,351,353,356,358,360,362,364,366,368,371,373,375,376,378,383,388,391,396,399,401],[53,39,39,207,11,33],"maker\u002Fneutral\u002Fnone",[130,39,45,209,131,39],"project\u002Fneutral\u002Fnone",[142,39,33,211,143,39],"project\u002Fcritical\u002Fdocs",[213,39,45,209,214,39],"28143045","andybak",[195,39,39,207,11,33],[217,39,45,218,219,39],"28169245","maker\u002Fneutral\u002Fdocs","alejoar",[134,39,45,221,131,39],"project\u002Fmixed\u002Fdocs",[198,39,39,207,11,33],[99,39,45,224,100,39],"project\u002Fneutral\u002Fidea",[226,39,39,227,228,39],"28145485","other\u002Fneutral\u002Fnone","yewenjie",[230,39,39,227,231,39],"28145976","nisegami",[233,39,39,227,234,39],"28150524","Barrin92",[236,39,34,237,238,39],"28142873","project\u002Fpositive\u002Fnone","deshpand",[240,39,39,207,11,33],"28143867",[152,39,39,242,104,39],"commenter\u002Fneutral\u002Fnone",[244,39,39,224,11,33],"28144633",[246,39,39,242,104,39],"28144937",[248,39,39,242,11,33],"28144962",[250,39,39,242,251,39],"28145959","nicolaskruchten",[253,39,39,242,254,39],"28150178","Atlas-Marbles",[256,39,39,227,257,39],"28150109","jlawer",[259,39,45,224,260,39],"28143291","garyrob",[83,39,39,209,11,33],[263,39,34,264,260,39],"28146087","maker\u002Fpositive\u002Fnone",[266,39,34,267,268,39],"28143413","project\u002Fpositive\u002Fidea","uniqueuid",[270,39,39,227,271,39],"28144559","iamcreasy",[273,39,39,227,274,39],"28144736","ushakov",[103,39,45,224,104,39],[277,39,39,224,11,33],"28144671",[279,39,39,242,251,39],"28145943",[281,39,39,242,11,33],"28146416",[283,39,34,284,285,39],"28144823","project\u002Fpositive\u002Fdocs","egberts",[287,39,39,207,11,33],"28144938",[289,33,45,290,291,39],"28143069","project\u002Fneutral\u002Fexecution","omarhaneef",[293,33,39,227,294,39],"28143334","mxuribe",[296,33,39,227,297,39],"28150305","Kaze404",[299,33,39,242,294,39],"28150555",[301,33,39,227,302,39],"28150458","chmod775",[304,33,39,290,11,33],"28143800",[306,33,39,227,307,39],"28146751","IshKebab",[309,33,39,227,310,39],"28147360","haolez",[312,33,39,227,313,39],"28147870","refactor_master",[315,33,39,227,310,39],"28149354",[317,33,39,227,318,39],"28150763","brundolf",[320,33,39,227,310,39],"28151739",[322,33,39,227,323,39],"28152880","arcanon",[325,33,39,227,307,39],"28154327",[327,33,39,227,310,39],"28155979",[329,33,39,242,307,39],"28161296",[331,33,39,227,323,39],"28152895",[333,33,39,227,323,39],"28154129",[335,33,39,227,307,39],"28154314",[337,33,39,227,323,39],"28159209",[339,33,39,227,307,39],"28160071",[341,42,34,267,342,39],"28145613","polyrand",[344,42,39,242,11,33],"28145652",[115,45,33,346,116,39],"project\u002Fcritical\u002Fperformance",[60,45,39,267,11,33],[186,349,45,224,187,39],4,[179,34,34,267,180,39],[172,352,45,224,173,39],6,[354,191,34,267,355,39],"28153223","hibbelig",[357,191,39,207,11,33],"28153390",[359,191,39,227,271,39],"28167076",[123,31,45,361,124,39],"project\u002Fneutral\u002Fperformance",[363,31,39,361,11,33],"28146286",[365,202,34,267,271,39],"28144809",[367,202,39,264,11,33],"28145193",[369,202,39,227,370,39],"28150146","lantry",[107,372,45,224,108,39],10,[374,32,39,227,323,39],"28152823",[119,18,33,346,120,39],[377,18,39,361,11,33],"28152683",[379,380,39,381,382,39],"28173977",13,"other\u002Fneutral\u002Fidea","midrus",[384,385,33,386,387,39],"28143285",14,"project\u002Fcritical\u002Fexecution","begueradj",[389,385,39,390,11,33],"28143833","project\u002Fpositive\u002Fexecution",[392,393,33,394,395,39],"28144279",15,"project\u002Fcritical\u002Fdesign","kissgyorgy",[397,393,39,398,11,33],"28144700","project\u002Fneutral\u002Fdesign",[400,393,39,227,395,39],"28145092",[402,393,39,403,11,33],"28145178","project\u002Fpositive\u002Fdesign",[],[406,410,415,420,424,428],{"id":407,"name":408,"points":409,"category":20},"28074827","Repo Visualization",283,{"id":411,"name":412,"points":413,"category":414},"28088882","GrowthBook",199,"data",{"id":416,"name":417,"points":418,"category":419},"28120247","colab.research.google.com",169,"ai",{"id":421,"name":422,"points":423,"category":20},"28084104","Systemizer",167,{"id":425,"name":426,"points":427,"category":419},"28100346","Stray Robots toolkit",166,{"id":429,"name":430,"points":431,"category":432},"28085920","Paper Time",161,"learning_science",false,"v2",{"id":436,"name":5,"line":6,"ai":433,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":437,"top":18,"kw":438,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":439,"url":9,"mix":440,"praise":95,"objection":112,"sub":21},28128445,0.07,[24,25,26,27],"3133305000355305300000000005155035310110",[31,32,33,34],1794036609966]