[{"data":1,"prerenderedAt":75},["ShallowReactive",2],{"speaking-2025-03-13-composables-vue-ams":3,"speaking-surround-2025-03-13-composables-vue-ams":55},{"id":4,"title":5,"body":6,"date":30,"description":31,"eventName":32,"eventUrl":33,"extension":34,"language":35,"location":36,"meta":37,"navigation":43,"path":44,"podcastUrl":45,"seo":46,"slidesUrl":47,"stem":48,"topics":49,"type":53,"videoUrl":45,"__hash__":54},"speaking\u002Fspeaking\u002F2025-03-13-composables-vue-ams.md","The Composable Handbook - Stop Writing Bad Composables",{"type":7,"value":8,"toc":26},"minimark",[9,18],[10,11,12,13,17],"p",{},"Who of you writes composables? And - more importantly - who of you writes ",[14,15,16],"em",{},"good"," composables?",[10,19,20,21,25],{},"The Composition API makes it tempting to wrap everything into a ",[22,23,24],"code",{},"useSomething()"," function, but not every composable is a well-designed one. In this Vue.js Amsterdam 2025 talk, I turned the patterns, pitfalls and principles I use in consulting engagements into a compact \"composable handbook\" - a set of guidelines to help you design composables that are reusable, testable and pleasant to work with.",{"title":27,"searchDepth":28,"depth":28,"links":29},"",2,[],"2025-03-13","Who of you writes composables? And - more importantly - who of you writes good composables?","Vue.js Amsterdam","https:\u002F\u002Fvuejs.amsterdam\u002F","md","en","Amsterdam, Netherlands",{"readingTime":38},{"text":39,"minutes":40,"time":41,"words":42},"1 min read",0.385,23100,77,true,"\u002Fspeaking\u002F2025-03-13-composables-vue-ams",null,{"title":5,"description":31},"https:\u002F\u002Fgithub.com\u002FTheAlexLichter\u002Ftalk-composables-vue-ams-25","speaking\u002F2025-03-13-composables-vue-ams",[50,51,52],"vue","composition-api","composables","talk","47tSHnsSwSSvYM7I-U2R_UefmhrbYgOneAx9-4No83E",[56,68],{"title":57,"path":58,"stem":59,"description":60,"date":61,"eventName":62,"eventUrl":63,"location":64,"slidesUrl":65,"videoUrl":45,"podcastUrl":45,"type":53,"topics":66,"children":-1},"A Vue in the future - What Vue will bring in 2025 and beyond","\u002Fspeaking\u002F2025-02-19-vue-future-hamburg","speaking\u002F2025-02-19-vue-future-hamburg","Vue is boring tech - and that's a compliment. Little drama, stable releases, a reliable ecosystem. But underneath that calm surface, a lot is moving: Vapor mode, continued Composition API improvements, tooling changes with Vite and Rolldown, and much more.","2025-02-19","Hamburg Vue.js Meetup","https:\u002F\u002Fwww.meetup.com\u002Fhamburg-vue-js-meetup\u002F","Hamburg, Germany","https:\u002F\u002Fgithub.com\u002FTheAlexLichter\u002Ftalk-vue-future-vue-hamburg-2025",[50,67],"vapor",{"title":69,"path":70,"stem":71,"description":72,"date":30,"eventName":32,"eventUrl":33,"location":36,"slidesUrl":45,"videoUrl":45,"podcastUrl":45,"type":53,"topics":73,"children":-1},"Panel: State of Vue.js 2025","\u002Fspeaking\u002F2025-03-13-panel-state-of-vue-ams","speaking\u002F2025-03-13-panel-state-of-vue-ams","Following the launch of Monterail's State of Vue.js 2025 Report at Vue.js Amsterdam, I joined Evan You, Daniel Roe, Daniel Kelly, and Louëlla Creemers on stage for a panel discussion.",[50,74],"nuxt",1776884384715]