I'll whine a lot, but there's a concentrated and crisp TL;DR in the end


I've been using App Engine I guess for 10 years now? It's hard for me too, 
but also, I'm preparing to open source my current project, at each step I 
question everything, I was going to open source my game so young 
developers/kids/gamers could dive into networked game development easier 
(It's an MMORPG on Google Cloud, my dream was that open sourcing it could 
enable fast experimentation with the genre), but as it is, at the current 
state of App Engine, the bottleneck is definitely all the diversified and 
separated products, separate emulators (missing ones), separate environment 
variables for everything etc. - I can't imagine a happy scenario where one 
could just develop an App Engine app locally without spending weeks trying 
to understand what's what first - Back in the day, I think the Launcher GUI 
and the simplicity of it all, got us all hooked (This is coming from a CLI 
user)


Things used to be as simple as *"python2.7 /sdk/dev_appserver.py 
--storage_path=/storage/ --blobstore_path=/blobstore/ 
--datastore_path=/storage/db.rdbms --host=0.0.0.0 --port=8080 /path 
--require_indexes"* - We could test *EVERYTHING* locally, now we can almost 
test nothing locally


It seems that the python2.7 that's currently in the process of being 
deprecated was the last of it's kind


Instead of refactoring everything for Python 3, I decided to move onto 
NodeJS instead, the work done, the documentation, the depth of it all, on 
the surface, is very exciting, until you dive in


First of all, at each step, you're faced with initially arbitrary decisions 
that's going to eliminate you, flexible or standard? - does it really 
matter, I don't think so, firestore in datastore mode or firestore? oh my 
god, it's like each option is designed to torture and drive away a 
potential user


As a long time App Engine / Datastore user, I've simplified my data design 
to a singular dimension and simple get/set by key operations wherever 
possible, so for me the limitations of the new datastore really doesn't 
matter much, I just wanted to use the new Firestore and all the new 
exciting stuff that came with it, experiment with it, see how it can 
improve my approach, I've always designed products that regularly pinged 
the server for new data, so the realtime features etc. appealed to me a lot 
- so I'd choose the unlocked Firestore, instead of the irreversibly locked 
one, at least that decision was easy, but the not so easy part was to find 
out how I'm going to emulate it locally, authenticate it locally, use it 
locally


Honestly, it's been months since I've been entertaining idea, whenever I 
can find some free time, I re-dive back into it, but still, I achieved 
nothing, yesterday I finally discovered "gcloud beta emulators firestore 
start" - but the new "environment variable" based approach etc. is making 
me want to cry, so I gave up again (the examples/docs are from "firebase", 
the authentication/flow is from "firebase", there are no simple examples to 
just use and authenticate "firestore" locally) - When I'm configuring a 
product, I either want to configure it in-code, or configure it in .yaml 
files, with the new approach, even app id's are set through environment 
variable's ...


Just before writing this, I wondered if I'm being unjust, and wondered 
whether I should just pick an arbitrary service, experiment with it using 
NodeJS, so I picked Taskqueues, or "Cloud Tasks" as they are now called, 
once again, it's a seemingly well documented and seemingly a well designed 
product, but no matter what I did, I just couldn't find how I'm going to 
test it locally, as it turns out, it can't be tested/emulated locally? 
bummer. (Related: 
https://stackoverflow.com/questions/53826183/local-development-with-cloud-tasks-cloud-datastore-with-gae-with-python3
)


*TL;DR/Conclusion:*


I believe we need a practical, all in one and turnkey local emulation 
solution again - There's a vast/overflowing/overwhelming amount of new 
options and no easy way to test them - I think the best way to learn about 
something is to use it


*Suggestion/Takeaway:*


I think local development is no longer feasible or possible, so it seems 
like a better idea to just deploy and test live, I don't know whether it's 
the intended way now, but it's seemingly the only way. In the past we 
assumingly all had a local development version of our products, I assume we 
now should start with live development versions of our products. So when 
I'm ready to try again, I'll experiment with it all live. (It's sad that 
likely this option is only possible for paying customers, I don't know 
whether the products have safe free tiers now, I assume not)


I also wonder whether I'm the only one who feels this way, are there any 
success stories out there, happy new App Engine users?

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/751b82a7-5e37-4681-a4b1-08f19130693a%40googlegroups.com.

Reply via email to