What is framework software?
The word framework is a frame and a work, so think about a frame and in a frame what you will do imazing if it is a photo frame you will put a photo this means a photo which is going to put inside
this frame has to be definite shape definite size otherwise that will not fit inside this frame or think about a frame as the frame of a house where you will build everything else so in a frame of a house everything else is built around the frame and you will do all your work around the frame it that means you are doing some work inside the frame but we have talked about the frameworks like of web framework.
so what we do in a framework we do codings this means whenever you write some code in a framework you have a specific skeleton pre-defined so this is actually the framework but what exactly
The framework is a web framework very defined by other people’s so the arrangement in which software provides greater functionality that can be extended by additional user-written code as I have told you frameworks just gives you some basic structure around which you add your code to have a greater functionality of that system.
so then it allows the standard way of creating applications and this is exactly the most important thing because if you use framework obviously the framework forces you to work in a standard way in that way you will also learn the standard procedure of creating some software or website or anything you are going to design and your application will be more standardized.
Why do we use frameworks?
I think up till now you are totally convinced that a framework is good but why do we use frameworks so you don’t have to start from scratch as I have told you just to go get your framework and let’s start working on your project, not from the basics of everything.
You don’t have to worry about all the start of things like creating the autoload file creating the sessions file creating some index file these things you don’t have to actually worry about that because all these things are pre-defined in a framework so it hides all these things and whenever you start your project you just focus on the main part of your project and not the other and the start of things.
So next is it just a way of processing requests, now think about you are using a framework then you can user outing systems means whenever any user hit a URL on your website and you can manage that URL and you can respond to that request according to you and frameworks gives you an awesome functionality to handle that request that means the routing system
even the frameworks are having the MVC pattern Model View controller system this is extremely important because this is so famous that you don’t have to worry about how the data flow from model to view to the controller you just have to worry about on your logic, not the functionality and this implementation of the framework is now gaining and level takes it beyond that and it’s so awesome that you will just love your coding experience so all these things are encouraging you to use frameworks.
if you are not using the framework you have to deal with lots of cool for using a single third-party package or resources because every third-party package has its own documentation and you have to read about that you have to check how you can implement in your non-framework project but if you are using a framework then the designer of the framework always deal with the third-party project and they will include that system in their framework and this simplifies the process of using that third-party package.
Difference between a Library and a Framework?
The framework and the library a library just provides a collection of helper functions to ease your pain example of a library is jQuery a framework not only provides helper functions but also specify application structure or arrangement to follow as you see the word framework is a frame and a work so think about the frame and inside a frame.
We will do work for example in photo frame we can put pictures in the house frame or skeleton we can build everything around it so in web frame we will do coding this means whenever your code in a web framework you have a specific predefined skeleton so the framework will force you to work in a specific way according to the certain skeleton.
Why do we use frameworks and libraries?
It saves your time and makes the process of creating a web app easy for example instead of repeating the same process or starting from scratch you can simply use ready functions from the library or framework which will save your time.
Web Application Frameworks :
The web framework is generally the key step that sits between your program and the internet. Now, imagine we’ve been using the Google App engine framework, which is called Web App 2.
This handles, basically, basic HTTP, kind of the scheduling, like the threading issues, you know, handling multiple requests at once. Parsing basic headers, basically looking for things out of the GET request or the POST request and putting them into these, like, request objects.
Turning your response object into the appropriate HTTP to send to the browser. The URL mapping and all of that stuff are really helpful. Various degrees of a web framework that give you more or less control and require you to do more or less work.
The level that we’ve been working on in webapp2 is the level where I, I like to be. The things that i favor concerning it ar that we’ve got direct access to urge and POST.
Some frameworks kind of hide this from you, and I think it’s really important that you are explicit about which method you’re handling a GET or a POST.
If you’re thinking about the web in that way, your websites will generally make more sense. You won’t make the mistakes of having, or you won’t as easily make mistakes as having your, you know, your GETs modify the database and then getting cached weird and, you know, your forms not submitting properly.
Understanding webs and web applications at the kind of method level, I think, is very, very important. We’ve got direct access to the request. You know, this means things like headers. Yes, there are convenience functions for setting cookies and getting cookies, but you can also manipulate the headers directly.
Sometimes you’ll want to do something funky with a content type or content length. Then if the web framework doesn’t let you do that, it can be frustrating. You can nott build the web-site that type you want.
So I find this kind of low-level stuff is really helpful. But it’s not so low that you’re dealing with, like, HTTP versions and host headers unless you really want to. There is a kind of feature that a lot of frameworks do that I think that is non-important.
This is strictly in my opinion. Things like sessions, caching, some have automatic forums, database ORM stuff. I don’t like working with these because I find every time I use something like this, it’s very soon after that I need a custom behavior.
I want to handle sessions differently, or I want to cache things differently, or my forms don’t fit the way the author thinks forms should work. Or, you know, the ORM can’t express queries that I want to express, or won’t let me cache the way I want to cache certain queries.
So I find this sort of stuff is a little too high level for me and I always end up rewriting it anyway. To me, the important things are basic HTTP, having access to headers, and GET and POST. I rarely use pre-built session things, and caching forms, and database stuff.
In every experience I’ve had, in the long run, I end up getting frustrated and I have to rewrite something that would have just been simpler to do in the first place. I generally don’t like magic.
When you look at some code and it just seems too magical, like it did all of this stuff for you and you’re so far away from the request that you don’t know what happened, that’s a terrible way to write web software.
You’re not going to know why something breaks when it inevitably does. And it’s going to take you, I think ultimately it will cost you more work than just thinking through each of these problems on your own. Sometimes,that is a best way to get start.
Something I didn’t discuss here is the notion of templates. Template languages come in all varieties. I am partial to one on Python called Mako. Python.
That’s a very, very powerful language, you can do all sorts of things. Why would you use a broken subset of that in your templates? Any complexities should be actually in your Python code and not in your template code.
Didn’t come up much in this class because most of the rendering code we’re using was fairly simple. It’s really easy to just throw complete objects and big data structures and unwind them and, and navigate them in your template code.
And that’s something that’s just really difficult to maintain. I wouldn’t recommend doing that. Templates are great, but use them with care. Use them for just generating your HTML.
Or just generating your CSS. Or whatever you’re using it for. And try to keep the code in the actual programming language.
Some Web Developments frameworks are –
Django is a web framework. The best description I ever heard of a framework is that it’s a collection of tools that you have to use in a specific way to get the best results.
So it’s less like having a toolbox and more like having a couple of modular kits from IKEA. There are many possibilities for what you can do, but there are limitations.
Even so, Django is still extremely flexible, allowing for a wide variety of websites to be built on top of it, from a simple blog to complex collections of data and features, like a newspaper.
TensorFlow is an open-source library developed by the Google Brain Team. It’s an extremely versatile library, but it was created for tasks that require heavy numerical computations.
For this reason, TensorFlow was geared towards the problem of machine learning and deep neural networks.
Mobile Development Frameworks
The framework is designed to handle greater functionality, scalability, and everything for you so it is designed for that and that’s why you don’t have to deal with the restructuring of your code because everything is super easy to just make the flow more smoothly.