What Is a Framework?

A framework is a structure that you can build software on. It serves as a foundation, so you’re not starting entirely from scratch. Frameworks are typically associated with a specific programming language and are suited to different types of tasks.

Let’s say you’re building a house. You could pour the foundation and frame the house yourself. It would take a lot of time, but you could do it. If all of that were already done for you, though, it would save you quite a bit of effort — especially if it was done by expert home builders.

In software development, a framework serves a similar purpose. It’s designed and tested by other Software Developers and Engineers, so you know it’s a solid foundation.

A house isn’t complete with just the framework, though. Similarly, a framework in software development is a starting point, but you add higher-level functionality to it to make it work.

Below, we’ll take a closer look at frameworks, what they’re used for, the differences between libraries and frameworks, and more.

Why do we use frameworks?

Using frameworks saves time and reduces the risk of errors. You don’t need to write everything from the ground up, so there’s less chance of introducing errors. Plus, frameworks have already been tested, so there’s less to worry about. Other advantages include:

  • More secure code
  • Simpler testing and debugging
  • Avoiding duplicate code
  • Clean and easily adaptable code
  • Able to focus on writing code specific to the project
  • Can be extended

Types of frameworks

Frameworks can be used for developing websites, mobile applications, data science, and more. Here are some of the more popular frameworks:

Multimedia framework

multimedia framework is a software framework that handles media on a computer and through a network. A good multimedia framework offers an intuitive API and a modular architecture to easily add support for new audio, video and container formats and transmission protocols. It is meant to be used by applications such as media players and audio or video editors, but can also be used to build videoconferencing applications, media converters and other multimedia tools. Data is processed among modules automatically, it is unnecessary for app to pass buffers between connected modules one by one.

In contrast to function libraries, a multimedia framework provides a run time environment for the media processing. Ideally such an environment provides execution contexts for the media processing blocks separated from the application using the framework. The separation supports the independent processing of multimedia data in a timely manner. These separate contexts can be implemented as threads.

Multimedia frameworks act as an abstraction layer, simplifying the complexity of handling multimedia data formats, decoding and encoding streams, synchronizing audio and video playback, and managing multimedia resources. They provide a consistent interface for developers to access various multimedia components and services offered by the underlying operating system or hardware.

Modern multimedia frameworks typically offer a wide range of functionality, including but not limited to:

  1. Codec Support: Multimedia frameworks often incorporate codecs for various audio and video formats, allowing developers to easily encode, decode, and manipulate multimedia data.
  2. Synchronization: These frameworks provide mechanisms to synchronize audio and video streams, maintaining proper lip-sync and smooth playback.
  3. Playback Control: Multimedia frameworks offer playback control features, such as play, pause, stop, seek, and volume adjustment, allowing developers to create interactive multimedia applications.
  4. Streaming: Many frameworks support the streaming of multimedia content over networks, enabling real-time delivery and playback.
  5. Capturing and Recording: Multimedia frameworks often include APIs for capturing audio and video from devices like cameras and microphones, as well as recording multimedia streams.[1]

Web application frameworks

AngularJS is a front-end JavaScript framework. It’s one of the most popular web frameworks and is backed by an enthusiastic community.

AngularJS was developed and is supported by Google. It includes features like two-way data binding, which reduces development time, and dependency injections, making it easier for different pieces of code to interact with each other.

Django is an open-source web development framework supported by the Django Software Foundation. It’s written in Python, a popular programming language, and is designed to encourage “rapid development and clean, pragmatic design.” It’s fast, secure, and scalable.

Rails is also an open-source framework. It’s written in the Ruby programming language, which was designed for ease of use. Rails is designed to involve less code and less repetition and is supported by a large community. It’s been used to develop sites like Airbnb, Twitch, and Hulu.

Express is a back-end framework for Node.js that allows you to start and configure a server with very little overhead. It’s free, open-source, and is written in JavaScript. Express has a reputation for being extremely flexible. It’s fairly minimalist, and developers have created middleware packages to address web development issues.

Mobile development frameworks

Flutter is Google’s open-source framework. It supports iOS and Android and has fully customizable widgets.

Flutter is designed to speed up app development and create attractive, user-friendly apps. It uses a thin layer of C/C++ code, but most of its system is in Dart.

Xamarin is a popular .NET-based framework by Microsoft. It also supports iOS and Android and has a community of 60,000 contributors.

React Native was developed by Facebook. It’s open-source, cross-platform, and written in JavaScript. It’s used in many popular apps, including Discord, Instagram, and Shopify.

NativeScript is an open-source, cross-platform framework. NativeScript apps are built using JavaScript, and it supports other JavaScript frameworks like Angular and Vue. It’s popular for its robust back-end support.

Ionic is another open-source, cross-platform framework. It uses JavaScript, HTML, and CSS, and it includes a library of mobile-optimized UI components, gestures, and tools. Ionic builds fast apps and integrates with front-end frameworks like Angular and Vue.

Libraries vs. frameworks

The terms “libraries” and “frameworks” are sometimes used interchangeably, but they’re very different.

In the video above, Carlos, a Web Developer, explains that a library is a set of previously-written code that you can use to build your own code. A framework is a supporting structure that requires specificity. You must follow the pattern of the framework.

A framework is essentially a skeleton, and you work with the skeleton. A framework calls on your code. Your code calls on a library. In other words, your code is in control when you use a library, but when you use a framework, it’s in control. This is referred to as “inversion of control.”

Frameworks can, and often do, include libraries. Libraries are used to fill out functions.

Getting started with frameworks

Frameworks are a valuable tool for developing applications. But, before you get started with frameworks, it’s best to have a solid understanding of a programming language.

For example, JavaScript is used in many frameworks. It’s a powerful, flexible programming language. We offer a beginner-friendly course to learn JavaScript. If you already understand the basics of JavaScript, our Learn Intermediate JavaScript course might be a better fit.

We also offer courses in popular frameworks. For example, if you understand JavaScript, you can use it to build a game in our Learn Game Development with Phaser.js course. Or, you can learn to create a website with the Handlebars.js framework in our Building Interactive JavaScript Websites course.

Ultimately, the better you understand a programming language, the easier it’ll be to understand frameworks. Programming languages are a solid foundation for many career paths in IT.

Which programming language you start with depends on your end goals and preferences. We offer programming courses in several languages, so you could even try a few to see which suits you best.

ctured courses, professional certifications, interview prep resources, career services, and more.

  • 9
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
This new 7th edition of Pro C# 6.0 and the .NET 4.6 Platform has been completely revised and rewritten to reflect the latest changes to the C# language specification and new advances in the .NET Framework. You'll find new chapters covering all the important new features that make .NET 4.6 the most comprehensive release yet, including:, A Refined ADO.NET Entity Framework Programming ModelNumerous IDE and MVVM Enhancements for WPF Desktop DevelopmentNumerous updates to the ASP.NET Web APIs, This comes on top of award winning coverage of core C# features, both old and new, that have made the previous editions of this book so popular. Readers will gain a solid foundation of object-oriented development techniques, attributes and reflection, generics and collections as well as numerous advanced topics not found in other texts (such as CIL opcodes and emitting dynamic assemblies)., The mission of this book is to provide you with a comprehensive foundation in the C# programming language and the core aspects of the .NET platform plus overviews of technologies built on top of C# and .NET (ADO.NET and Entity Framework, Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), ASP.NET (WebForms, MVC, WebAPI).). Once you digest the information presented in these chapters, you’ll be in a perfect position to apply this knowledge to your specific programming assignments, and you’ll be well equipped to explore the .NET universe on your own terms., What You Will Learn:, Be the first to understand the .NET 4.6 platform and C# 6.Discover the ins and outs of the leading .NET technology.Learn from an award-winning author who has been teaching the .NET world since version 1.0.Find complete coverage of XAML, .NET 4.6 and Visual Studio 2015 together with discussion of the new Windows Runtime.
ASP.NET MVC with Entity Framework and CSS by Lee Naylor 2016 | ISBN: 1484221362 | English | 608 pages | True PDF | 30 MB This book will teach readers how to build and deploy a fully working example retail website using Microsoft ASP.NET MVC and Entity Framework technologies and recommendations. This book contains several solutions to real world issues that developers will frequently encounter. Whether you are a novice developer or an experienced .NET developer wishing to learn more about MVC and Entity Framework, author Lee Naylor will teach you how to develop a detailed database driven example website using Microsoft ASP.NET and Entity Framework Code First with fully explained code examples including: • Filtering and Searching Related Data using Linq • Using code first migrations to automatically update the database plus seeding data from code • How to use Visual Studio Scaffolding views and controllers • Manage CRUD operations including model binding as recommended by Microsoft and dealing with cascading deletions correctly • Input and data validation using Attributes • Sorting and paging through data and routing for friendly URL formats • Authorization and Authentication using Microsoft Identity v2 by making use of Microsoft example code including correct use of redirection after login and registration • Advanced techniques including managing data concurrency conflicts and using two database contexts • Asynchronous database access and paging • Azure deployment using Code First Migrations, remote debugging and viewing/editing your remote data • CSS Styling including animation and media queries What You Will Learn: • Get up and running quickly with ASP.NET MVC and Entity Framework building a complex web site to display and manage several related entities • How to integrate Identity code into a project • Advanced topics including: Asynchronous database access and managing data conflicts • Working with Microsoft Azure including remote debugging and database access • CSS skills including animations and media queries for use with tablet or mobile/cell phone devices Who This Book Is For: People wanting to learn ASP.NET MVC and Entity Framework ranging from novice developers new to the subject through to more experienced ASP.NET web forms developers looking to migrate from web forms to MVC and Entity Framework. The book assumes some programming knowledge such as object-oriented programming concepts and a basic knowledge of C#.
Entity Framework Core Cookbook - Second Edition by Ricardo Peres English | 9 Nov. 2016 | ISBN: 1785883305 | 340 Pages | MOBI/EPUB/PDF+Code Files | 6.2 MB Entity Framework is a highly recommended Object Relation Mapping tool used to build complex systems. In order to survive in this growing market, the knowledge of a framework that helps provide easy access to databases, that is, Entity Framework has become a necessity. This book will provide .NET developers with this knowledge and guide them through working efficiently with data using Entity Framework Core. Key Features Learn how to use the new features of Entity Framework Core 1 Improve your queries by leveraging some of the advanced features Avoid common pitfalls Make the best of your .NET APIs by integrating with Entity Framework Book Description You will start off by learning how to efficiently use Entity Framework in practical situations. You will gain a deep understanding of mapping properties and find out how to handle validation in Entity Framework. The book will then explain how to work with transactions and stored procedures along with improving Entity Framework using query libraries. Moving on, you will learn to improve complex query scenarios and implement transaction and concurrency control. You will then be taught to improve and develop Entity Framework in complex business scenarios. With the concluding chapter on performance and scalability, this book will get you ready to use Entity Framework proficiently. What you will learn Master the technique of using sequence key generators Validate groups of entities that are to be saved / updated Improve MVC applications that cover applications developed using ASP.NET MVC Core 1 Retrieve database information (table, column names, and so on) for entities Discover optimistic concurrency control and pessimistic concurrency control. Implement Multilatency on the data side of things. Enhance the performance and/or scalability of Entity Framework Core Explore
MapReduce is a programming model and software framework for processing large sets of data in a distributed and parallel manner. It allows for processing of large data sets on clusters of computers using a simple model for parallel processing. In the MapReduce framework, the input data is divided into chunks and each chunk is processed by a separate mapper function. The mapper function processes the input data and generates intermediate key-value pairs. These key-value pairs are then sorted and grouped by key, and passed on to the reducer function. The reducer function then aggregates the intermediate key-value pairs and generates a final output. For example, let's say we have a large data set of customer orders that we want to process using MapReduce. The mapper function will read each order and generate intermediate key-value pairs where the key is the customer ID and the value is the order amount. The intermediate key-value pairs might look like this: ``` customer1: 10.99 customer2: 25.55 customer1: 5.99 customer3: 15.00 customer2: 12.50 ``` These intermediate key-value pairs are then sorted and grouped by key: ``` customer1: [10.99, 5.99] customer2: [25.55, 12.50] customer3: [15.00] ``` The reducer function then aggregates the values for each key and generates a final output: ``` customer1: 16.98 customer2: 38.05 customer3: 15.00 ``` In this example, the MapReduce framework allowed us to process a large data set in a distributed and parallel manner, making it faster and more efficient.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值