What is the difference between a lightning component and a visualforce component in Salesforce?
Lighning components are the components that are part of the “Lightning Experience” in Salesforce CRM.
They are much different than VF components, in that Visualforce components are in effect just VF and may contain a controller (or not) and will render HTML with or without a custom style sheet.
Salesforce Lightning components on the other hand are meant to run in Salesforce1 (well, you can have them run in the native UI, but that’s just not where they’re meant to be).
Further, Lighning components are structured in “bundles” – typically consisting of an app (which calls the component), a controller (much different from VF controller) – the Lighning controller operates client-side, not server-side so it will primarily “pull” rather than “push” data.
Also in the component bundle are the CSS, rendering, and documentation elements of the component.
The strategy that is Salesforce’s Lightning platform is to develop a framework for making the Salesforce platform “platform-independent”. It’s my personal belief that Salesforce’s strategy is to have no functional look & feel difference between the Lighning (heretofore “mobile” L&F) and native Salesforce, but this will take some time.
Lightning is still a little buggy, but is getting better all the time. If you’re interested, and you have a Salesforce developer account, you can do the trailhead exercises for seeing how they work;
For more details on Salesforce Lightning Training; please follow the appended link: Salesforce Lightning Online Training.