I know thats not a good answer but it is kinda apples fault.caldav and carddav are somewhat strange protocols but they work well in linux.Apple tries to support them. Microsoft does not care at all. (Outlook can not sync caldav/carddav)