What does the surname Evans mean?

In English it means, Son of Evan. Evan is the Welsh form of the Hebrew John, meaning God has been gracious, or God has shown favor but, alternatively it also means God is good in Welsh.