Angularjs is a client side javascript framework that adds interactivity to HTML. It allows developers to create dynamic and interactive web applications. Some key features include directives, modules, controllers, expressions and data binding. Directives are HTML annotations that trigger javascript behaviors. Modules group application components. Controllers add application logic and behavior. Expressions display dynamic values in the HTML. Angularjs uses MVC architecture with the view being the DOM, controllers handling logic, and models storing data. It also utilizes dependency injection to manage dependencies between components.