Micro
Micro

Reputation: 10891

Why upgrade from Objectify v5 to v6?

Seems like there is a lot of work to upgrade from objectify v5 to v6 since there are many breaking changes. Is there a good reason to do that work and upgrade?

Upvotes: 1

Views: 452

Answers (2)

stickfigure
stickfigure

Reputation: 13556

Just for the sake of having a bigger version number? No, I wouldn't upgrade; your code works fine now and at best it will work fine after. There are two major developments you probably want to wait for:

  • Cloud Datastore integration with Cloud Tasks (not to mention Cloud Tasks coming out of beta), so you can transactionally enqueue tasks.

  • gRPC in the SDK to improve the performance of calls.

Starting a new project is a harder question... but I would stay with "if it isn't broken don't fix it" for existing codebases. The appengine sdk and Objectify v5 are mature APIs that work, and upgrading later shouldn't be any harder than upgrading now (quite a lot easier if you use transactional tasks).

Note that if you want to move your application to the GAE Flexible Runtime then you need v6, but this is just one of many changes you will probably need.

Upvotes: 2

Mangu
Mangu

Reputation: 3325

Objectify v5 uses the App Engine SDK to connect to the GAE services, via a proprietary interface called ApiProxy. Google then released the Cloud SDK, which introduces improvements, but most important for this case, it replaces this interface with REST and GRPC interfaces to their services. These are the interfaces Objectify v6 uses.

If, for deployment, you are using appcfg or mvn appengine:update, you are still using the old App Engine SDK, but, if you either use mvn appengine:deploy or gradle appengineDeploy, you are using the Cloud SDK.

While it does make sense to keep using Objectify v5 if you are using the old App Engine SDK, it is best to upgrade to both the Cloud SDK and Objectify v6, since the Cloud SDK looks like the way to go for future App Engine deploments.

There is a guide on how to move from v5 to v6, and the equivalence between some commands in Appcfg and Gcloud.

Upvotes: 1

Related Questions