Hi YAM,
And welcome.
I have some similar background and similar languages, etc. And still work with those in the dayjob as well. Got AppGameKit license some time last year and early this year gave it a go to write some simple game(s). I previously tried LibGDX and loved the possibility to use Java, all the libs, functionalities, etc. Did not like how complex even the dev environment was to set up, all the issues I kept getting into, the feeling it did not need to be that complex.
On a single person side-project I prefer to the tradeoff of making 90% stuff simple for me while sacrificing some performance or whatever. Looked briefly at Unity et al and felt like I prefer a simple 2D game and try to do that good rather than poorly done 3D hack. For such things Unity et al are way overkill IMO. Gamemaker seems potential but expensive and with all sorts of add-ons and after a bit of scracthing not that much simpler. Has a nice level editor though. So I have for now used AppGameKit for a few 2D games.
My PROS:
-Very simple to do stuff, including physics. Just give it a direction, spin, etc. Creating sprites etc.
-Lack of some annoying OOP features is actually nice, such as inheritance, polymorphism, etc. Other times lacking (see below)
-Great way to test on mobile if that is your thing.
-Great cross-platform compatibility.
-Very easy to develop on desktop and deploy everywhere.
-Good abstraction for Android/iOS for things such as achievements, leaderboards, in-app purchases.
-The community is nice and friendly, even though quite small. Usually a few same people here answering questions. But people do try to help.
-There is even some level editors etc from the community but not quite the same as a fully integrated, professional grade one.
My CONS:
-Sometimes the simplicity is a bit of a bummer. Say I shoot my physics object. How do I know what all the things were hit (and where) in the previous frame when an object bounced around the screen?
-Or in general some things are a bit hard for me to figure out from the docs. Like mixing images for effect such as take R from image 1, G from 2, B from 3 and A from 4. Or some variants.
-Above just as examples, might be easy enough, but sometimes I find it hard to find some info.
-Lack of good refactoring. You have some basics such as go-to-declaration to navigate code in the IDE but half the times even this does not work.
-Lack of ability to structure your code. So you have to uniquely name all functions, and after a while this gets complicated and messy.
-You only have basic types such as arrays, so sometimes you need to be creative. But you gotta feel so great that you can and get to solve them problems, right?

-The packaged games on Android and iOS are quite large. About 20MB for a hello world. So forget about featuring in small size app categories

-Can be difficult to access native functionality if you want something that is not in AGK. But that should apply to every kit out there.
-The debugger is OK but you need to write the variable names in it manually to see the values, and you need to implement your own logging (and figure out where did it go..). Or maybe I just don't know and someone will not correct all my points.
-Lack of level editors, etc. Even lack of seeing your media assets in the IDE.
TRICKS and NOTES:
-There is a flag that forces variables to be declared before used, that should help with managing code and variables.
-You should put all your global variables in custom types to avoid further confusion and make managing them easier.
-Seems that one guy is responsible for all of AppGameKit development (Paul). He does not necessarily have always a chance to put as much effort as you might like, and communication could sometimes use improvement. But generally I have found issues to be addressed OK. I find it a risk I can take even if Paul decided to quit. If my game suddenly made millions I could then just hire someone to rewrite it, and the company behind this has been going for long time.
SUMMARY:
I would recommend to try this, I find it so far best suited for my needs. I keep an eye open for alternatives and where they are all going. For the price you might just get it on one of the ever-lasting discounts and try writing a very simple game. Honestly I wonder what the guys live on with these prices.
As soon as you start making your game bigger you probably find it difficult to manage the code. So variables in types, compiler flags, ... would recommend using them right off. I did not but will next now that I know they are there..
Anyway, hope someone can now correct all my issues and tell us how to do it right etc.