O que é Biblioteca, Framework e API? #HipstersPontoTube
Summary
TLDRIn this video, Paulo Silveira and Maurício Linhares discuss the concepts of libraries and frameworks in software development. They explain that libraries are tools used directly for specific tasks, akin to using a hammer, while frameworks affect how you write and structure your application, similar to a car manufacturing platform. The video uses analogies like a hammer and a car platform to differentiate between the two and highlights the importance of choosing the right tool or framework based on the project's needs. They also touch upon the evolution of APIs and their role in modern cloud-based services, emphasizing the interconnectedness of software components in today's web-centric environment.
Takeaways
- 📚 A library is a collection of code in the same language, providing a set of tools for specific tasks, similar to using a hammer for construction.
- 🚀 Frameworks, on the other hand, affect how you write your application by providing a structure or foundation that your application must fit into, akin to car manufacturing platforms.
- 🔧 The difference between a library and a framework is that a library is used directly for specific tasks, whereas a framework dictates the structure and flow of your application development.
- 🏗️ Using a framework can be more cost-effective as it provides a pre-built structure, which can be thought of as a blueprint for constructing applications, reducing the need to reinvent the wheel.
- 🛠️ Examples of libraries include jQuery, which is widely used in web development for DOM manipulation, events, and animations.
- 🌐 An example of a framework that has become very popular in web development is React, which when combined with other solutions, can dictate the structure of the application and thus act as a framework.
- 📈 Frameworks are designed for specific use cases, such as Ruby on Rails for web applications with a focus on databases and form-based interactions.
- 🎯 It's important to choose the right tool for the job; a framework that fits the specific needs of the project will be more beneficial than a general-purpose one.
- 🌐 APIs (Application Programming Interfaces) have evolved to not only refer to local language-specific interfaces but also to web services and cloud integrations.
- 🌟 The script emphasizes the importance of understanding the distinction between libraries and frameworks to make informed decisions when developing software applications.
Q & A
What is the main difference between a library and a framework according to the script?
-A library is a collection of code that can be directly used in different parts of an application without affecting how the application is written. A framework, on the other hand, affects how the application is structured and written, providing a foundation that the application is built upon.
How does the script describe the evolution of software development tools?
-The script describes the evolution from having separate sets of codes for each language to a more integrated approach where different components are mixed and related, leading to the development of frameworks that dictate the structure of the application.
What is an example of a library mentioned in the script?
-An example of a library mentioned in the script is jQuery, which is widely used in web development for manipulating HTML elements and handling events.
How does the script explain the concept of a framework using car manufacturing as an analogy?
-The script uses the analogy of car manufacturing platforms to explain frameworks. Just as Volkswagen's Golf, Voyage, and Saveiro models are built on the same platform, applications built using a framework share a common structure and are designed to fulfill specific roles within that structure.
What is the role of APIs in the context of the script?
-APIs are discussed as a means of interaction with other services or software components. They can be local to the language being used or external, allowing for integration with cloud services or other applications.
Why might a developer choose not to use a framework for their project according to the script?
-A developer might choose not to use a framework if the project does not align with the specific problem the framework is designed to solve, or if they want more flexibility in how the application is structured without the constraints of a framework.
What is the significance of the 'call stack' in the context of using a framework?
-The 'call stack' is significant when using a framework because it determines the order in which functions are called. This is different from using a library, where the developer directly calls functions as needed.
How does the script differentiate between the use of APIs in local programming and in cloud services?
-In local programming, APIs are used to interact with the local system, such as the file system. In cloud services, APIs are used to interact with external services, allowing for integration and communication between different applications or services.
What is the script's perspective on the importance of choosing the right tool (library or framework) for the job?
-The script emphasizes the importance of selecting the right tool based on the specific requirements of the project. Using a tool that is not designed for the task at hand can lead to inefficiencies and a mismatch in functionality.
How does the script suggest that frameworks can influence the development process?
-The script suggests that frameworks can influence the development process by providing a predefined structure and set of rules that dictate how the application should be built, which can lead to more efficient development and reusability of code.
Outlines
📚 Understanding Libraries and Frameworks
The speaker, Paulo Silveira, introduces the concepts of libraries and frameworks in software development. He explains that libraries are tools that can be directly utilized without affecting the structure of the application. They are like a hammer, used for specific tasks. In contrast, frameworks provide a structure that dictates how an application is built. They are akin to a car manufacturing platform where different models are built based on a common structure. The speaker emphasizes that while libraries offer flexibility, frameworks enforce a specific way of coding, which can lead to more efficient development but with less flexibility. He uses the analogy of a painting frame to illustrate how frameworks provide a mold that applications must fit into.
🔨 The Practical Use of Libraries and Frameworks
This section delves into the practical applications of libraries and frameworks. The speaker uses the example of jQuery, a popular web development library, to demonstrate how libraries can be directly called upon to perform specific tasks, like manipulating web elements. He then contrasts this with frameworks like Express.js, which not only provide tools but also dictate the application's structure and flow. The speaker highlights the importance of understanding when to use libraries for their versatility and when to opt for frameworks for their structured approach, especially in specific use cases like web applications with databases. He also touches on the concept of APIs, explaining how they enable interaction with external services and how they have evolved with the rise of cloud computing and interconnected web services.
🌐 APIs and Their Role in Modern Development
The final paragraph discusses the role of APIs (Application Programming Interfaces) in modern software development. The speaker explains that APIs have become crucial for integrating different services and functionalities into applications. He gives examples of how APIs are used to interact with cloud services, social media platforms, and other web applications. The speaker also mentions how APIs have expanded beyond local language-specific interactions to include a broader range of services, making it easier for developers to connect their applications with a wide array of online services. The paragraph concludes with a call to action for developers to explore the vast world of APIs, libraries, and frameworks to enhance their skills and build more robust applications.
Mindmap
Keywords
💡Library
💡Framework
💡API (Application Programming Interface)
💡Web Development
💡Software Architecture
💡Reusability
💡Integration
💡Cloud Services
💡jQuery
💡Express
💡MVC (Model-View-Controller)
Highlights
Paulo Silveira discusses the evolution of software development and the concept of libraries and frameworks.
Maurício explains the historical context where each programming language had its own set of codes.
The shift from language-specific codes to more generalized and mixed approaches in software development.
Libraries are compared to tools that you use directly, like a hammer, to perform specific tasks.
Frameworks are introduced as structures that affect how you write your application, similar to a car manufacturing platform.
Frameworks provide a basic structure for application development, streamlining the process and reducing costs.
The importance of understanding the repetitive and reusable aspects of application architecture.
Frameworks are designed for specific use cases, unlike libraries which are more versatile.
An example of a library is jQuery, which is widely used in web development for DOM manipulation.
React is given as an example of a framework that defines the structure of web applications.
The concept of 'call boxes' in frameworks, where certain actions are triggered by specific events.
The difference between how libraries and frameworks influence the writing style of an application.
Frameworks are often developed to solve specific problems, unlike libraries which are more general-purpose.
The discussion on how frameworks can dictate the structure and flow of an application.
APIs are introduced as a means of interaction with other services or software components.
The evolution of APIs from local interactions to cloud-based services and their impact on modern development.
The practical example of using Twitter's API to automate the posting of currency exchange rates.
Encouragement for viewers to delve deeper into the world of APIs, libraries, and frameworks in various programming languages.
Transcripts
afinal que é uma fé e biblioteca
em frey mox
[Música]
meu nome é paulo silveira eu sou
maurício - eu sou da época em que só
tinha tal da biblioteca que cada
linguagem tinha um conjuntinho de
códigos naquela mesma linguagem que
inclusive já vinha tudo empacotado no
mesmo lugar em que se podia fazer
chamadas linhas mas parece em áreas que
as coisas foram evoluindo ea gente caiu
em frei porque a gente caiu em arapeí e
até coisas com nomes diferentes afinal o
que é um que é o outro é tudo igual
então são várias coisas tudo junto e
misturado ainda não há não são essas
coisas não existem sozinhas elas estão
relacionadas também relacionadas em que
era vencer quando a gente fala de
biblioteca que tá falando no mapa das
vezes é de alguma coisa é uma ferramenta
que você utiliza diretamente não imagina
que a biblioteca será equivalente a você
vai usando um martelo tá com um martelo
batendo martelo no braga então isso é
uma biblioteca você tem uma ferramenta e
usa ela pra fazer uma coisa específica
então quando a gente trabalhando com
software imagina é que se você está
usando alguma coisa pra acessar o banco
de dados está usando na biblioteca e
acesso ao banco de dados que liga com o
sp
quero que a gente tenha acabado de falar
então a diferença que a gente vai ter
então biblioteca e frei porque a
biblioteca não afeta diretamente como
você está escrevendo a sua aplicação
porque como você usa diretamente você
dirige a biblioteca pra fazer alguma
coisa você define como essa biblioteca
vai fazer ou quando ela vai fazer alguma
coisa dentro da sua publicação quando a
gente tá falando do freio motor pois
muda porque a diferença é que o freiburg
ele afeta diretamente com você escreve
como você vai desenvolver a sua
aplicação a gente pense um pouco se
encaixar dentro dele exatamente então
imagina que o frio o que seria
equivalente a você
fora do software seria como a plataforma
que empresas que fazem carros usam para
construir carros então por exemplo ser
pago à volkswagen é que tem o gol eo
voyage e tem a saveiro
os três casos eles são bem parecidos
porque eles são bem parecidos porque
eles usam a mesma estrutura que eles são
todos construídos dentro da mesma
plataforma porque eles fazem isso aí
porque eles entendem que sai mais barato
você vai utilizar a plataforma ea mais
simples você simplesmente colocar as
coisas em espécie
o que se espera cada carro ali ele tem
uma obrigação específica se você está
comprando uma saveiro que quer colocar
coisa na traseira da saveiro que
carregar peso está um bom então é aquele
carro como um hatch beck que você vai
utilizar para colocar as pessoas lá
dentro você pega o goiás quer mais
espaço de mala colocada dentro do carro
mas basicamente eles são mesmo carro o
freiburg é a mesma coisa então imagino
foi morto um sendo essa mesma base de
confecção dos carros ele define a
estrutura básica as coisas básicas que
você precisa ter dentro daquele vai
conhecer pra você
durante a construção da aplicação ea
partir do momento que ele entrega essas
coisas a sua aplicação não precisa se
encaixar dentro dessa estrutura então a
gente não pode simplesmente pegar por
exemplo esse modelo é esse molde que é
utilizado para um gol e colocar uma
picape gigante de seis rodas em cima
dele não funciona porque a própria
estrutura do frango com pele que esse
tipo de coisa aconteça então fica mais
barato pra você porque você não precisa
criar toda essa estrutura e chama até
uma coisa que as pessoas se enganam que
ele fala não vou construir com o frio
porque eu não quero o peso do frei
momento na minha aplicação mas você vai
invariavelmente definir uma estrutura
que seria uma estrutura de frango dentro
da sua aplicação mesmo que você não
esteja planejando não é tanto que uma
das coisas que a gente fala é que na
hora que você está construindo um frango
há quem veja você passa a ter e
construir um freio o que se deve extrair
um freio motor da sua aplicação porque
conforme você vai conseguir a aplicação
você começa a descobrir quais são as
coisas repetitivas as coisas que podem
ser reutilizados e arquitetura geral que
forma essa aplicação então na hora que
você percebe essa arquitetura essa
arquitetura é o seu freio que é daí que
surge a a estrutura como você vai montar
sua aplicação é o gosto da analogia da
ferramenta com da biblioteca e o do
frango que as pessoas acabam trazendo
como o arcabouço e outras coisas em
português mas como moldura de um quadro
mesmo quando vai colocar uma pintura lá
dentro ela tem que seguir alguns padrões
se você já tem
a moldura do quadro o quadro que vai
colocar lá tem que ser determinado
tamanho determinado tipo talvez até as
cores podem não casar bem e até funciona
mas não funcionaria tão bem então você
está dentro daquilo tudo e linhares pra
exemplificar o que pode ser um exemplo
fácil de
biblioteca é e um exemplo fácil de frema
coisas muito bem conhecidas
então biblioteca a biblioteca o número
14 do número 15 r é então se você já
teve qualquer contato com o universo da
internet o congresso do movimento web
você tende a cair lac é óbvio é
provavelmente a biblioteca mais famosa
que a gente tem dentro do mercado é todo
mundo invariavelmente se você trabalha
com uma coisa web ou se você está
acessando um site qualquer é bem
provável que em algum lugar tem um jeito
é ir lá e alguém está usando record para
fazer uma coisa dessa na página você usa
como martelo mesmo falou mal dela você
pega o delegado chama de carne soja que
faça isso mude esse acordo esse botão
que clicaram praquilo exatamente então
você está directamente dizendo olha eu
quero que o jogo é fácil x então
fechamos gordon gekko faça x jec vai
fazer esse xis aí pra você e o exemplo
de framework também pegando por esse
lado do desenvolvimento web é que um dos
morros mais difíceis que a gente tem
agora na atualidade é o ex
então o rico é que sozinho ele é uma
biblioteca mas quando você o único
objeto com outras soluções você coloca
ele jogou a bola bom acolhimento da
aplicação então ele termina se
transformando num tremor porque ele
define a estrutura de como você vai
montar sua aplicação então ele diz olha
você tem que usar esse formato você tem
que ter dado essa classe você tem que
responder essa chamada então não é mais
você fazendo a chamada diretamente o que
está acontecendo agora confirmou que ele
inicia começa a rodar sua aplicação e
ele começa a chamar o seu código não é
mais você que faz o chamado é ele que
decide quando as coisas vão acontecer
eu acho que outra característica muito
forte de que você está usando um
framework é quando você tem os tais dos
call boxes então você tem um chamado
dias que passa olha chamas só que quando
precisar quando acontecer tal coisa se
vai chamar isso aqui é diferente da
biblioteca que se dá aquela pegada você
fica ali esperando que em algum momento
ele sabe até porque alguém vai se chamar
pra te pedi alguma informação e é claro
que tem muita biblioteca franco que tem
as duas caras é meio difícil é difícil
você fazer uma definição você dizer
definitivamente isso aqui é um frame
isso aqui
o teca normalmente é uma das outras
grandes diferenças aqui a biblioteca no
geral não define como você escreve podem
sofrer gol não veio aquele episódio tem
que ser o espírito de que não vou
desejar nem vai funcionar na
simplesmente não vai funcionar então ele
possa você escrever o seu poder de uma
forma específica que no geral
vale a pena porque isso vem da
experiência de outras pessoas através do
mesmo tempo de aplicação que você
provavelmente está estranho e aí tem uma
coisa importante também dos frangos aqui
os frangos são pensados em usos
específicos quando você tá dificilmente
você vai trabalhar confirmou que ele é
pra resolver todos os problemas do
universo um dos outros sem muitos
famosos que a gente tem aí é o domingo
lewis que é um filme que foi
desenvolvido para fazer aplicações web
qual é o foco do grêmio maylson é fazer
aplicações web que andam em cima de um
banco de dados normalmente o banco de
dados relacional e são aquelas
aplicações que a gente chama como meio
de aplicação de crude na aplicação do
formulário que você vai mostrar um
formulário vai mostrar o estágio vai ter
uma consulta então se você está querendo
desenvolver esse tipo de aplicação de
uma unidade no mec e tem um monte de
formulário tem listagem tem para olhar
os dados né
então se esse tipo de coisa que você
está fazendo no meu erros muito legal
se o que você está querendo escrever por
exemplo é uma vocação de desenvolvimento
e jogos por exemplo é quente pra rodar
vai ser um baque um jogo na internet
provavelmente você não quer usar o ex
país porque ele não foi pensado pra esse
tipo de problema então se é uma coisa
que a gente tem que entender também
enquanto em uma biblioteca ela tem muito
mais usos ela pode ser utilizado em
vários lugares diferentes
quando a gente está trabalhando
confirmou que no momento não é 100
capitais afirmou que ele é desenvolvido
para resolver um problema específico a
gente vai lá para resolver esse problema
e quando esse problema você normalmente
troca de emprego ou que o seu próprio
bem a gente falou o técnico frango que
normalmente está falando de usar uma
coisa que está na mesma linguagem que
está programando mas aí entra as tais
das apis e que ganhou mais força acho
que até com um sentido diferente do que
tinha duas décadas atrás que é uma penca
que significa que alguém está
disponibilizando uma pipa pra mim então
a pm ela existe
em várias formas diferentes tanto pode
ser o mapa eo local uma vez que você tá
chamando aqui por exemplo ap que você
usa para interagir com o sistema de
arquivos do computador local não é uma
bem então a idéia aqui é a forma como
você interage com alguma coisa dentro
dos seus tempos poderia ser humano até
poderia ser uma biblioteca então o diego
e ele tem um mapa e saber de qual é o
que a função de hickory que a função
principal ou a função e se for algo
cifrão é o símbolo do dinheiro então
essa é a pdg quadro geral e as funções
que você chama depois ness e chama a ela
depois você chama a função em cima dela
então é a forma como você interage com o
canal pessoal mas hoje em dia ganha um
sentido um pouco diferente claro que
quer dizer isso também mas parece um
caso bem específico quando a gente está
falando apenas um é então o outro
sentido é quando você está chamando
algum outro serviço então imagina que
agora nesse momento se você está
assistindo esse vídeo diretamente no
youtube
a página do youtube que você tá olhando
ela fez uma chamada pra ver de vídeo
para descobrir o def
o arquivo desse vídeo que você está
vendo agora está rodando puxar esse
arquivo e ela chamou o tráfego que a
perda do navegador você está utilizando
e disse olha pega esse vídeo que está
nesse pedaço da tela e bota o vídeo pra
tocar então a gente tem primeiro happy
externa nem cabem no youtube que essa
página que está chamando pra pegar os
descobrir onde está o arquivo de vídeo
ea gente tem a pm ea pelo próprio
browser que é a chamada que você faz pra
executar o vídeo aqui da fundação então
hoje a gente fala hoje a gente não
talvez a gente não use mais no mesmo
sentido o sentido das apis locais na
pele da própria linguagem que você está
usando hoje quando a gente fala de
apenas uma dessas apenas terras rap que
você usa para interagir com o serviço de
nuvem que você usa é ap que você usa por
exemplo pra mandar um e mail à ap que
você usa para falar com o outro serviço
naquela dependência da sua aplicação
então a gente tem a fez como qualquer
foco uma forma como você interage com um
outro serviço um outro pedaço de
software que você precisa para executar
uma funcionária
virou até a chama que ela tem do
instagram chama que ela tem de twitter
para mandar esse tweet já através da sua
épico chama pedro serviço de comida
porque você quer íntegra
a a sua aplicação com a aplicação do
serviço de comida eu meio que a gente
tem hoje na ilha é uma das coisas que a
nuvem na internet e esse ambiente que é
conectado que a gente tem hoje trouxe
para que a gente consiga integrar todas
as resoluções de inclusive serviços que
servem somente para você fazer
integrações entre serviços distintos na
então serviços que dizem olha na hora
que houver uma mudança no valor dessa
cpi você pega esse valor e pública ele
no twitter que inclusive conta no
twitter que é uma coisa que elas fazem é
publicar a cotação do dólar todas as
vezes que a cotação do dólar no mundo
real
então em vez de você está entrando no
site num site de notícias qualquer pra
acompanhar a cotação do dólar pode
seguir essa pontinha e no twitter e toda
vez que o dólar modela pública la à nova
cotação do dólar você pode usar apenas o
twitter para ler esse filho tudo coisa e
é na lua que você vai se aprofundar
nessa montanha de apis bibliotecas e
frameworks que tem no java no continente
no pai dono php uma linguagem que você
usa no dia-a-dia corra linguagem que
você vai aprender então entra na lura e
aproveita para se matricular com 10% de
desconto em aluno ponto com.br parra
promoção barra hipster tube
espero você na lua o freio motor e uma
biblioteca entrou no bar
Browse More Related Video
Diferença entre API, Biblioteca e Framework em Desenvolvimento de Software
O QUE SÃO FRAMEWORKS E BIBLIOTECAS? QUAIS AS DIFERENÇAS?
What is a REST API?
AS & A Level Computer Science (9618) - Chapter 8: System Software
HTMX vs AlpineJS - Which should you use for your web app?
React Native vs Flutter - Which should you use?
5.0 / 5 (0 votes)