- My Profile page
- People you may know
- Who viewed my profile
- Profile inline edits
- Unified search
LinkedIn mobile apps (iPhone, Android, Mobile Web) makes request to Node.js using RESTful requests to node.js mobile server, which then makes RESTful requests to LinkedIn platform to serve the requests. You could read the detail on this page or on this page. Look at the diagram below to understand how Node.js used in mobile apps.
Venus.js & Other JS Testing Frameworks
Faced by the challenges of testing the UI with selenium integration tests and not being able to catch the JS related unit tests earlier in the game, Linkedin engineering team created this JS unit testing framework called as Venus.js. With Venus.js, they were able to achieve some of the following objectives:
- Support multiple testing libraries (Qunit, Jasmine etc)
- Support test-driven development and continuous integration using real browsers
Before Venus.js got created, various different LinkedIn teams had been using some of the following JS unit testing frameworks:
For details on Venus.js and why it got used, check out this page from LinkedIn engineering team.
V8 JS Engine
Backbone.js is primarily used to deliver LinkedIn on iPad device. The views are rendered using underscore templates that are bound to backbone views and populated with data from backbone models or collections. Backbone models retrieve the JSON data from the server in a structured format.
Underscore is used as client-side templating engine to serve the different pages on Linkedin iPad apps. As mentioned in above section, underscore.js templates are used/bound with backbone.js views and populated with data from backbone models.
Other JS frameworks
- YUI Library: The usage of YUI libraries could be found with LinkedIn web applications.
- JQuery: JQuery framework is used to deliver various different JS widgets on both web and mobile applications.
- Inject: Inject is an open-source dependency management JS framework that runs in the browser and makes dependency management very easy. Read further on why Inject was created in the first place.