These two terms refer to different parts of an application. They are more used in web development, but can be used in development of applications in another platforms. In this article I will talk about frontend and backend in the perspective of web development.
The whole part of the application with which the user interacts. The structure and the behavior of what appears on the screen are responsibility of the developer that works at this part.
HTML is responsible for the structure of the page. It's using it that you define which element are going to appear on the screen.
CSS is responsible for styling the page. From colors, borders and margins to animations are created with this language.
Javascript is responsible for the behavior of the page. You will need to use this language to perform actions on button clicks or to submit forms, among other things.
Frameworks help facilitate and streamline development. They contain ready-made code for things we need to use in various projects (eg, menu bar) or laborious tasks (eg, receiving data from a database and displaying it in a table).
The part that handle data and business logic of the application. The user does not have direct contact with that part of the application. Usually, the backend of an application deals with tasks that require a certain level of security, i.e.: authentication.
Backend frameworks follow the same concept as frontend frameworks but perform different functions. Express, for example, is a framework for the runtime environment (JRE) Node.js that assists in functions such as handling routes.