@nickbauman Have you considered the datastore dsl to be over https://github.com/objectify/objectify ? Seems pretty nice & it uses the google-cloud api, meaning you could switch the app between standard and flexible without making changes to the db queries.
I havenβt seen this one but Iβll definitely take a closer look! Thank you for your thoughtful suggestion.
Oh I have seen it. I just forgot about it.
Nothing wrong with it. But my datastore DSL uses the lower-level API instead of that. I never benched between them, but I suspect the lower-level one is faster because youβre ultimately using less code to do the work.
Since my DSL generates a lazy sequence, there are even more opportunities to increase performance by avoiding work anyway.
Going forward, I want to decouple the query functions from the query macro that consumes them so people can compose queries with or without the macro if they so desire.
I also believe that things like projection queries and save/delete hooks are going be nicer when this decoupling is complete.
Sounds nice. Still a bit of tinkering to do with my initial setup, then will focus and the datastore part. The decoupling you mentioned sounds really nice. π
I've always found dsl's a bit weird from clojure. We wrap the api with functions to make it more clojurey rather than objecty. Take a look at how https://github.com/simplevalue does things. We have used a lot of their stuff. Everything as data.
@domparry Thank you. Will check it out. Trying to see what libs are available in clojure for appengine now. Seems like there was a lot of activity a while back, but now a lot of projects seem to be unmaintained π Are you running apps on the standard java env ?
We're running on flexible environment, but would prefer to move to standard env.
π lein ring uberwar seems to generate a lot of files in classes for my project. 7k files is pretty close to the 10k limit. Deleting some of the AOT compiled libraries add a bit to startup time.
Do you have any issues preventing you to move to standard env ? π
Nothing yet. I just haven't put the effort in...
cool. My current app is serving about 150k pageviews a month for free (appengine standard env python). Would like the clojure/clojurescript rewrite to be the same. π
That's great. And good motivation to move my stuff to standard env...