Citation: 2C_574/2019 E. C

Mit Eingabe an das Bundesgericht vom 17. Juni 2019 erhebt A.________ Beschwerde in öffentlich-rechtlichen Angelegenheiten sowie subsidiäre Verfassungsbeschwerde. Er beantragt, das Urteil des Verwaltungsgerichts Zürich vom 17. April 2019 sei aufzuheben und das Migrationsamt sei anzuweisen, seine Aufenthaltsbewilligung zu belassen resp. zu verlängern. In formeller Hinsicht ersucht er um Gewährung der unentgeltlichen Rechtspflege und Verbeiständung. Der Präsident der II. öffentlich-rechtlichen Abteilung des Bundesgerichts hat der Beschwerde mit Verfügung vom 20. Juni 2019 antragsgemäss die aufschiebende Wirkung zuerkannt. Das Verwaltungsgericht des Kantons Zürich beantragt die Abweisung der Beschwerde, soweit darauf einzutreten sei, und verzichtet im Übrigen, ebenso wie die Rekursabteilung der Sicherheitsdirektion des Kantons Zürich, auf Vernehmlassung. Das Migrationsamt des Kantons Zürich und das Staatssekretariat für Migration lassen sich nicht vernehmen.