In many ways, Android developers with existing apps will not have much, if anything, to do to get their apps to work on Android 2.2. The only true “change” I have seen to the core is that fill_parent is now known as match_parent, though the older value will still be supported in a deprecated fashion. I see nothing that absolutely requires serious app overhauls, the way that multiple screen sizes or the revamped contacts API did. You might want to switch to the newer managed dialog methods, for example, but (AFAICT) your app will not immediately break by using the older methods.
Rather, most of the programming improvements are all new things you can take advantage of, but are not really forced upon you. If you want to advise Android regarding your app’s interest in being moved to the SD card, there’s a manifest entry to add. If you want to take advantage of the Cloud-to-Device Messaging API, there’s an add-on for that (in limited access beta for now). Optional APIs were added for application data backup, custom speech recognizers, camera zoom levels, device policy management, and so on — all of which you can use or ignore at your discretion.
So, on the surface, it appears that Android 2.2 is goodness with few downsides. Of course, with the SDK only being available for ~36 hours, we may yet run into major regressions or other calamities. But Froyo went how I would expect Gingerbread and future releases to go — the core remains largely unchanged, new APIs are added you can optionally leverage, and lots of stuff gets added around and outside of app development.