You should not be worry about case implementation on communities. Most important thing to take care about visualforce implementation of cases are profile and permissions sets for the user. Which are wide from record level to object level. In communities startup, issue comes is few standard object tabs which were selected during setup are not visible to community user.
Keep aware of what profiles are eligible for communities login and is that profile has access to case object. Profile eligible for community are given during first community setup or can be set up by going customise | communities | settings.
In my experience I came with issues with profile permissions otherwise all things are good.
In addition try to understand the logic written in apex classes which are created when you enable communities in organisation e.g. CommunitiesLandingController, CommunitiesLoginController etc. These classes are helpful in understanding the logic behind the scene how a user login and possibilities of customisations. Try to implement, if you face issue and unable to find workaround ask on salesforce stackexchange.