Sachverhalt: A. A._, geb. 1987, ägyptischer Staatsangehöriger, reiste Mitte 2010 illegal in die Schweiz ein und heiratete am 12. November 2010 eine 1982 geborene Schweizerin; in der Folge erteilte ihm das Migrationsamt des Kantons Zürich eine zuletzt bis am 11. November 2013 verlängerte Aufenthaltsbewilligung. Aus der Ehe ging am 15. Februar 2011 ein Kind hervor. Wegen Ausübung häuslicher Gewalt wurde A._ am 15. Dezember 2012 ein Rayon- und Kontaktverbot hinsichtlich der Ehefrau und des gemeinsamen Kindes auferlegt. In diesem Zusammenhang erging an ihn ein Strafbefehl wegen Drohung und Tätlichkeiten. In der Folge lebten die Ehegatten getrennt, nahmen im Frühjahr 2013 das Zusammenleben wieder auf und trennten sich am 25. August 2013 definitiv. Mit Eheschutzurteil vom 15. November 2013 wurde festgehalten, dass die Ehegatten seit 25. August 2013 getrennt leben, und das gemeinsame Kind unter die Obhut der Mutter gestellt. Mit Verfügung vom 17. Februar 2014 verweigerte das Migrationsamt des Kantons Zürich eine weitere Verlängerung der Aufenthaltsbewilligung von A._ und wies diesen aus der Schweiz weg. B. Die dagegen erhobenen kantonalen Rechtsmittel blieben ohne Erfolg (Rekursentscheid der Sicherheitsdirektion vom 4. September 2014; Urteil des Verwaltungsgerichts des Kantons Zürich vom 12. Dezember 2014). C. A._ erhebt mit Eingabe vom 2. Februar 2015 Beschwerde in öffentlich-rechtlichen Angelegenheiten, eventuell subsidiäre Verfassungsbeschwerde, an das Bundesgericht mit dem Antrag, der angefochtene Entscheid sei aufzuheben und die Sache zur Neubeurteilung an die Vorinstanz zurückzuweisen. Mit nachträglicher Eingabe vom 27. März 2015 stellt er zudem ein Gesuch um unentgeltliche Rechtspflege und Verbeiständung. Das Verwaltungsgericht und die Sicherheitsdirektion verzichten auf Vernehmlassung. Das Staatssekretariat für Migration beantragt Abweisung der Beschwerde.