Our society is witnessing a rapid vehicle electrification process. Even though being environmental-friendly, electric vehicles have not reached their full potentials due to prolonged charging time. Moreover, unbalanced spatiotemporal charging demand/supply along with the uneven number of charging stations between heterogeneous fleets make electric vehicle management more challenging, e.g., surplus charging stations across a city for electric buses but limited charging stations in some regions for electric taxis, which severely limit the charging performance of the whole electric vehicle network in a city. In this paper, we first analyze a large-scale real-world dataset from two heterogeneous electric vehicle fleets in the Chinese city Shenzhen. We investigate their mobility and charging patterns and then verify the practicability and necessity of shared charging. Based on the insights we found, we design a generic real-time shared charging scheduling system called sharedCharging to improve overall charging efficiency for heterogeneous electric vehicle fleets. Our sharedCharging also considers sophisticated real-world constraints, e.g., station spaces, availability of charging points, real-time timetable guarantee, etc. More importantly, we take the electric bus and electric taxi fleets as a concrete example of heterogeneous electric vehicle fleets given their different operating patterns. We implement and evaluate sharedCharging with streaming data from over 13,000 electric taxis and 16,000 electric buses, coupled with the charging station data in the Chinese city Shenzhen, which is the largest public electric vehicle network in the world. The evaluation results demonstrate that the proposed sharedCharging reduces the waiting time by 63.5% and reduces the total charging time by 15% on average for e-taxis.