Why is nothing rendering when I try to use scope instead of ng-init in my AngularJS code below?
<!doctype html>
<html ng-app="myApp" ng-controller="myCtrl">
<head>
<title>Bookshop - Your Online Bookshop</title>
<meta charset="UTF-8">
<link rel="stylesheet" href="http://www.w3schools.com/lib/w3.css">
</head>
<body>
<div class="container">
<h2>Your Online Bookshop</h2>
<ul class="unstyled">
<li ng-repeat="book in books">
{{book}}
</li>
</ul>
</div>
<div class="container">
<h2>Your Online Bookshop</h2>
<ul class="unstyled">
<li ng-repeat="book in books_author">
<span>{{book.name}} written by {{book.author}}</span>
</li>
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.books = ['Effective Java','Year without Pants','Confessions of public speaker','JavaScript Good Parts'];
$scope.books_author = [{'name': 'Effective Java', 'author':'Joshua Bloch'},{'name': 'Year without Pants', 'author':'Scott Berkun'},{ 'name':'Confessions of public speaker','author':'Scott Berkun'},{'name':'JavaScript Good Parts','author':'Douglas Crockford'}];
});
</script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>
</body>
</html>