O QUE SÃO FRAMEWORKS E BIBLIOTECAS? QUAIS AS DIFERENÇAS?

Rafaella Ballerini
12 Jan 202105:28

Summary

TLDRIn this educational video, Rafaela Ballerini explains the difference between a Framework and a Library in the context of software development. She uses the analogy of a library being a collection of functions and classes that can be directly used in one's code, such as the math functions in C's 'math.h'. In contrast, a Framework provides a more structured skeleton for building an application, where developers must follow a predefined workflow and integrate their code within it. Rafaela emphasizes the importance of choosing updated and well-supported frameworks and libraries to avoid obsolescence and bugs. She concludes by stating that the choice between a Framework and a Library depends on the specific needs and context of the project.

Takeaways

  • 📚 Rafaela Ballerini introduces the difference between a Framework and a Library in her video.
  • 🤔 She recalls her initial confusion between the terms during her early college days, as they were often used interchangeably.
  • 🛠️ A Library is described as a set of implementations, such as functions, classes, and procedures, used to perform common tasks.
  • 📈 An example of a widely used library is 'math.h' in the C programming language, which provides mathematical functions like sine, cosine, and logarithms.
  • ⚠️ She warns about the potential difficulty in debugging if a library has a bug, as it can be hard to find and fix.
  • 🏗️ A Framework is explained as a skeleton that you build upon, with predefined workflows and structures.
  • 🌐 It's compared to a giant planet with various functions, methods, and classes that you can use to construct your application.
  • 🔄 The difference between a Library and a Framework is highlighted: a Library is something you pull into your code, while a Framework is something your code is built upon.
  • 🛑 She emphasizes the importance of choosing a Framework that is up-to-date and has community support to avoid obsolescence.
  • 🔑 The video concludes with the simple yet profound distinction: 'A library is what we use in our code, a Framework is what uses our code.'
  • 👍 Rafaela invites viewers to share which libraries and frameworks they use in the comments and encourages likes and subscriptions.

Q & A

  • What is the main topic of Rafaela Ballerini's video?

    -The main topic of Rafaela Ballerini's video is explaining the difference between a framework and a library in the context of programming.

  • Why did Rafaela create a 'words' section in her videos?

    -Rafaela created a 'words' section in her videos to clarify terms she heard at the beginning of her college education but didn't understand, such as 'framework' and 'library'.

  • What is the basic definition of a library according to the video?

    -A library is defined as a set of implementations, which can be functions, classes, or procedures, that you can use to perform common tasks.

  • What is an example of a library mentioned in the video?

    -An example of a library mentioned in the video is 'math.h', which is commonly used in C programming language for mathematical operations.

  • What are some potential issues with using libraries?

    -Some potential issues with using libraries include difficulty in finding and fixing bugs within the library, and the responsibility of ensuring the library is up-to-date and suitable for the application.

  • What is the basic definition of a framework according to the video?

    -A framework is defined as a skeleton that you build your application upon, with pre-defined structures and workflows that you must follow.

  • How does a framework differ from a library?

    -A framework differs from a library in that it provides a broader structure with various functions, methods, classes, and objects that you utilize in your application development, whereas a library is more about pulling in specific functions or classes as needed.

  • What is an important consideration when choosing a framework for your project?

    -An important consideration when choosing a framework is ensuring it is up-to-date, well-supported, and not likely to become obsolete, as this can affect the longevity and maintainability of your application.

  • What is the general advice given in the video regarding the choice between a framework and a library?

    -The general advice given in the video is that the choice between a framework and a library depends on the specific needs and context of the application you are developing.

  • Can you provide some examples of frameworks mentioned in the video?

    -Some examples of frameworks mentioned in the video are Angular for JavaScript, Spring for Java, Ruby on Rails for Ruby, Laravel for PHP, and ASP.NET for C#.

  • What is the final message from Rafaela to her viewers in the video?

    -Rafaela's final message to her viewers is a reminder to comment on the video with the libraries and frameworks they use, to like the video, subscribe to the channel, and stay tuned for a future video demonstrating the practical use of a framework and a library.

Outlines

00:00

📚 Introduction to Frameworks and Libraries

In this video, Rafaela Ballerini introduces the topic of frameworks and libraries, explaining their differences. She recalls a previous video about front-end and back-end development, where she created a segment about terms she encountered in university that she didn't initially understand. The video aims to clarify these concepts as they are often confused. Rafaela mentions that technologies like .NET, Bootstrap, and Angular are examples of frameworks and libraries used in programming, not programming languages themselves.

05:01

🔍 Understanding Libraries

Rafaela explains that a library is a collection of implementations, such as functions, classes, and procedures, used to perform common tasks. Using the example of the math.h library in C, she describes how it provides numerous mathematical functions like sine, cosine, square root, and logarithm, which save programmers from having to implement these from scratch. She also cautions about potential bugs in libraries and the importance of ensuring they are updated and fit for the intended purpose.

🏗️ The Role of Frameworks

A framework provides a skeleton structure for building applications, requiring developers to follow predefined workflows and structures. It includes numerous functions, methods, classes, and objects, acting as a large, comprehensive system into which developers can insert their own code. This contrasts with libraries, where the code pulls in specific functionalities as needed. Frameworks often include multiple libraries and require careful selection to avoid obsolescence and ensure community support and updates.

📊 Choosing Between Frameworks and Libraries

Rafaela discusses the decision-making process when choosing between using a framework or a library. She emphasizes that each technology is suited to different situations and applications. Frameworks provide a ready-made structure, reducing the amount of original logic developers need to write but also limiting their coding freedom. Libraries, while requiring more initial coding effort, offer greater flexibility. She lists examples of popular frameworks and libraries for various programming languages, such as Next.js, Spring, Angular, and Django.

📹 Practical Examples and Conclusion

Rafaela announces that she will create a follow-up video demonstrating the practical use of frameworks and libraries. She invites viewers to comment on their most-used frameworks and libraries. Finally, she thanks her audience, encourages them to like and subscribe to her channel, and expresses her hope that the video has clarified the concepts of frameworks and libraries. She ends with a promise of more content to come and a warm goodbye.

Mindmap

Keywords

💡Framework

A framework in the context of the video refers to a foundational structure that provides a set of pre-defined working structures and rules for developers to build upon when creating an application. It is a more abstract and broader concept compared to libraries, potentially encompassing multiple libraries to form a comprehensive development environment. The video emphasizes that using a framework ties directly into the source code of an application, and developers must follow the framework's flow and structure, which can limit freedom in coding but provides a ready-made structure.

💡Library

A library, as described in the video, is a collection of implementations such as functions, classes, and procedures that can be utilized to perform common tasks. It acts as a helper tool that offers a vast array of functionalities, like mathematical operations, which can be directly included in the code using directives like '#include' in C. The video uses the example of the math library in C to illustrate how libraries provide convenience but also come with the challenge of debugging if there are any inherent bugs.

💡Programming

Programming is the process of creating a sequence of instructions to perform specific tasks, which is the central theme of the video. The script discusses frameworks and libraries as tools used in programming to develop applications. The video aims to clarify the differences between these tools to aid in better programming practices.

💡Front-end

Although not explicitly detailed in the transcript, 'front-end' is mentioned in the context of a previous video about programming and technology. Front-end refers to the client-side of a software application, where the user interacts directly with the application's interface using a web browser or application software.

💡Back-end

Similar to 'front-end,' 'back-end' is mentioned in relation to a past video and pertains to the server-side of a software application. It involves the application's internal workings, databases, and server-side scripting, which are not directly seen by the user but are essential for the application's functionality.

💡Application

An application, or 'app', is a software program designed to perform specific tasks for the user. In the video, the development of applications is discussed in the context of using frameworks and libraries to facilitate the process. The script highlights how frameworks provide a structured approach to building applications, whereas libraries offer specific functionalities to be incorporated into the application.

💡Development

Development in the video script refers to the process of creating software applications using programming languages, frameworks, and libraries. It is the overarching activity that the video is centered around, with frameworks and libraries being essential tools in the development process.

💡Bug

A bug in the context of the video is an error or flaw in a library or software application that causes it to behave unexpectedly or incorrectly. The script warns about the difficulty of finding and fixing bugs within libraries, emphasizing the importance of using updated and well-supported libraries in application development.

💡Community Support

Community support refers to the assistance and resources provided by a community of users and developers, which is important when choosing a framework. The video mentions the need to ensure that there is an active community for support and updates, which is crucial for maintaining and troubleshooting applications built using frameworks.

💡Obsolete

Obsolete in the video refers to technologies, such as frameworks, that have become outdated or are no longer supported. The script cautions against using obsolete frameworks as they can tie an application to outdated practices, making it difficult to maintain or update.

💡Meme

Meme is a term used in the video to describe a humorous image, video, or piece of text that is copied and spread rapidly by internet users, often with slight variations. The video script mentions using memes as a fun way to reinforce content and engage the audience.

Highlights

Rafaela Ballerini introduces the difference between a framework and a library.

Frameworks and libraries are often confused as they are used in the same context, but they serve different purposes.

A library is a collection of implementations such as functions, classes, and procedures that can be used for common tasks.

The standard library in C, for example, provides a wide range of mathematical functions.

Using a library saves time as you don't have to manually implement common operations.

There can be challenges with debugging if a library contains a bug, as it can be difficult to locate and fix.

It's important to ensure that the library you use is up-to-date and matches your requirements.

A framework provides a structure or skeleton for building an application, with predefined workflows and structures.

Frameworks come with various functions, methods, and classes that you can use in your application development.

With a framework, you fill in the gaps with your code, as opposed to a library where you pull in specific functions.

Frameworks can be more abstract and broader than libraries, potentially including multiple libraries.

Choosing the right framework is crucial as it can directly impact the longevity and maintainability of your application.

Frameworks should be chosen based on their current support, community, and whether they are up-to-date.

A memorable phrase to differentiate between a library and a framework is: a library is used in our code, a framework uses our code.

The choice between a framework or a library depends on the specific needs of the application and the situation.

Frameworks provide a ready structure but may limit your freedom with the code, whereas libraries offer more freedom but require more initial work.

Examples of frameworks include React, Spring for Java, Angular, Bootstrap, Ruby on Rails, Laravel for PHP, and ASP.NET for C#.

Examples of libraries include JavaScript's jQuery, which is often confused with a framework.

Rafaela Ballerini plans to create a video demonstrating the practical use of a framework and a library.

The video concludes with an invitation for viewers to comment on the libraries and frameworks they use and to like and subscribe to the channel.

Transcripts

play00:00

o Olá meu nome é Rafaela ballerini sejam

play00:02

bem-vindos a mais um vídeo aqui do canal

play00:04

e hoje eu vou contar para vocês a

play00:06

diferença entre Framework e biblioteca e

play00:10

[Música]

play00:11

e para quem não se lembra é um dos

play00:15

primeiros vídeos que eu postei aqui

play00:16

sobre programação e tecnologia no canal

play00:18

era sobre front-end back-end e lá tinha

play00:21

criado um quadro que se chamava palavras

play00:24

que ouvia no começo da faculdade e eu

play00:25

não fazia ideia do que significava e o

play00:28

vídeo de hoje também se encaixa um pouco

play00:29

nesse quadro porque foi mework

play00:31

biblioteca são palavras que ouvia no

play00:33

começo da faculdade e eu não fazia ideia

play00:34

do que significavam na fazer assim

play00:36

inclusive achava que era exatamente a

play00:38

mesma coisa né porque eram usadas sempre

play00:39

o mesmo contexto tenho certeza que vocês

play00:41

já viram alguma vaga de emprego por

play00:43

exemplo é tecnologias como por exemplo

play00:46

lote net Direct viu Bootstrap angular

play00:50

isso tudo são frameworks e bibliotecas

play00:51

que são utilizados quando a gente

play00:53

desenvolve alguma linguagem de

play00:54

programação eles não são linguagens de

play00:56

programação então primeiro eu vou

play00:58

começar com conceito de biblioteca ela

play01:00

nada mais é do que um conjunto de

play01:02

implementações essas implementações

play01:03

podem ser funções por nesse classe esses

play01:06

procedimentos que você vai utilizar para

play01:08

fazer alguma tarefa que seja bem comum

play01:10

um exemplo de

play01:11

Oi gente usa muito na faculdade

play01:13

principalmente quem aprende com a

play01:15

linguagem C é a neve. H como que ela

play01:18

funciona a gente sempre inclui ela

play01:19

dentro do nosso código com o including e

play01:22

a partir daí ela te oferece um leque

play01:24

gigante de funções que você pode

play01:26

utilizar para solucionar algumas

play01:27

operações matemáticas como por exemplo

play01:29

seno de algum número cosseno raiz

play01:32

quadrada log se você não utilizar essa

play01:34

biblioteca e não puxar as funções que

play01:36

ela tem você teria que fazer na mão toda

play01:39

a lógica desse tipo de operação você ia

play01:41

ter que criar como que funciona para

play01:42

fazer o log de um número tão biblioteca

play01:44

é uma mão na roda gigante para várias

play01:46

situações não só para operações

play01:48

matemáticas uma coisa também que é

play01:50

preciso tomar muito cuidado é que se a

play01:52

biblioteca tiver algum bug dentro dela é

play01:54

muito difícil de encontrar onde esse

play01:55

blog tá e também de solucionar porque

play01:58

muitas vezes o responsável pela

play01:59

biblioteca não vai conseguir solucionar

play02:01

o seu blog há tempo de você lançar

play02:03

aplicação então é interessante você ter

play02:05

certeza se aquela biblioteca atualizada

play02:07

e corresponde o que você realmente quer

play02:09

e o Framework como que ele funciona e de

play02:11

play02:11

a biblioteca ele não dá mais é do que o

play02:14

esqueleto para você poder construir a

play02:16

sua aplicação em cima dele só que você

play02:18

vai ter que seguir todo o fluxo de

play02:19

trabalho e as estruturas que já existem

play02:22

pré-definidas nele é como se ele fosse

play02:23

um planeta gigante que tem várias

play02:26

funções vários métodos várias classes

play02:28

objetos que você vai poder utilizar na

play02:30

sua construção da aplicação que vai ter

play02:33

vários buracos esses buracos vai ser

play02:34

onde você vai encaixar seu código então

play02:36

isso difere um pouco da biblioteca

play02:38

porque a biblioteca Na verdade o seu

play02:40

código que é o mundo e você vai puxar

play02:42

ela dos homens que você quiser que você

play02:44

vai utilizar as funções por exemplo

play02:46

matemáticas que eu falei então é um

play02:48

pouco mais abstrato e um pouco mais

play02:49

amplo que as bibliotecas podendo até ser

play02:51

um conjunto delas né você pega as várias

play02:53

bibliotecas elas vão construindo uma

play02:55

coisa tão grande tão legal então

play02:57

completa que você consegue chamar de

play02:59

Framework nesse caso para você

play03:00

desenvolver a sua aplicação você vai se

play03:02

basear a tecnologia utilizada no

play03:05

Framework que você escolheu porque não

play03:07

adianta você achar que você vai puxar o

play03:08

Framework Em algum momento do código que

play03:10

nem você faz com a biblioteca

play03:11

as funções não você vai utilizar esse

play03:14

frio porque não pode me inteiro o

play03:16

Framework é diretamente ligado ao

play03:17

código-fonte da sua aplicação então para

play03:19

linguagens diferentes por exemplo cê pai

play03:22

estão Java você vai ter primeworks

play03:25

diferentes por mais que aquele frio work

play03:27

e faça a mesma coisa uma das coisas que

play03:28

é preciso tomar muito cuidado na escolha

play03:30

do Framework é que se ele se tornará

play03:33

obsoleto a sua aplicação vai estar

play03:35

totalmente amarrada nele então é preciso

play03:37

ver se realmente está atualizado se

play03:39

existe suporte comunidade para você

play03:41

poder conversar e fazer o suporte

play03:43

necessário pesquisando esse conteúdo

play03:45

para trazer para vocês eu achei uma

play03:47

frase que eu achei muito legal e muito

play03:49

resumida do que é fêmur e biblioteca a

play03:52

biblioteca é o que a gente usa no nosso

play03:54

código e o Framework usa o nosso código

play03:57

é só fala qual que é melhor utilizar cê

play04:00

acha que eu devo escolher um Framework

play04:01

ou uma biblioteca gente assim como as

play04:04

linguagens de programação cada

play04:05

tecnologia é apropriada por uma situação

play04:08

diferente por uma aplicação diferente

play04:10

porque com

play04:11

e por exemplo você vai ter uma estrutura

play04:13

basicamente pronta você não vai ter que

play04:15

fazer muita coisa muita lógica que você

play04:17

teria que criar do zero se você não

play04:19

utilizar Mas isso faz com que você tem

play04:21

um pouco menos de liberdade com seu

play04:23

próprio código já que a Biblioteca você

play04:25

vai ter um pouco mais de trabalho para

play04:26

poder criar algumas coisas do zero Mas

play04:28

você vai ter muito mais Liberdade alguns

play04:30

exemplos de frameworks São Rider next

play04:32

Spring forjava ângulo é para o

play04:34

JavaScript Bootstrap icon CSS Ruby on

play04:37

rails Ruby laravel PHP asp.net com

play04:41

c-sharp Django Python jauretche por

play04:45

exemplo ele é um exemplo de biblioteca

play04:47

do JavaScript como muitos confundem

play04:49

agora para fixar um pouco conteúdo como

play04:51

vocês sabem que eu adoro fazer porque

play04:53

para mim fica bastante eu vou colocar

play04:55

alguns memes aqui para vocês assistirem

play05:00

E aí

play05:06

E eu logo vou fazer um vídeo mostrando

play05:08

na prática como que a gente usa um

play05:10

Framework uma biblioteca comenta aqui em

play05:12

baixo qual que é a biblioteca e o

play05:13

Framework que você mais utiliza para

play05:15

desenvolver Não esqueça de deixar o like

play05:17

e se inscrever no canal também e é isso

play05:19

gente espero que tenha ficado claro para

play05:21

você o conceito de cada uma dessas

play05:23

palavras e muito obrigado por assistirem

play05:25

até aqui um beijo e até semana

Rate This

5.0 / 5 (0 votes)

Related Tags
Programming ConceptsTech EducationWeb DevelopmentSoftware DesignCoding TutorialFrameworks vs LibrariesFront-EndBack-EndDeveloper TipsTech TrendsRafaela Ballerini