What’s Deno? Understanding of Deno Framework
Deno is an environment similar to Node.Js. Where Node js has some limitations like security issues, the entire build system, packages, node_modules etc. Deno overcome those limitations.
Deno is a run time for JavaScript and Type Script. It is based on the V8 JavaScript engine and the Rust programming language.
Deno aims to be a productive and secure scripting environment for the modern programmer.
Deno could be used to create web servers, perform scientific computations, etc.
Must Read: Top 5 JavaScript Development Frameworks
Top Features of Deno
Security
Deno by default executes the code in a sandbox, so that run-time has no access to The file system, network, Execution of other scripts and The environment variables.
Standalone Environment
Deno eliminates the npm which is a package manager. Deno especially plays a role of both run time and package manager within a single executable, rather than requiring a separate package-management program. Deno has a built-in package manager for resource fetching.
Modules
Deno loads modules by URLs. By using URLs, No centralized registry is required for the package distribution in the Deno. In the Node.Js centralized registry, NPM has created a lot of problems. It is overcome in Deno.
When we start the application, Deno downloads all the imported modules and caches them. Once they are cached, Deno will not download them again until we specifically ask for it with the reload flag.
Browser Compatibility
Deno aims to be browser-compatible. When using the ES modules, we don’t have to use any build tools like web pack to make our application ready to use in a browser.
Browser compatibility means that where we overlap in functionality with the browser, EG fetch() we use the browser APIs. There are many things you can do in Deno that will not run in the web browser — typescript is one of them. If you use JavaScript and don’t import the built-in “deno” module, the script should be browser-compatible.
The subset of Deno programs which are written completely in JavaScript and do not use the global Deno namespace (or feature test for it), ought to be able to run in the modern web browser without change.
Package Versioning
Versioning has to be supported by the package provider, but from the client side it comes down to just setting the version number in the URL
TypeScript support
Deno makes it easy to use TypeScript without the need for any configured files. It is possible to write programs in plain JavaScript and execute them with Deno without any trouble.
API Minimization
Deno Minimizes the size of the core API while providing a large standard library with no external dependencies. Deno has a standard library that is easy to import and use. Some modules do acouple of different things, like HTTP handling, date-time work, and file system work.
Permission to perform Actions
Deno by default won’t perform delicate actions, like reading environment variables or writing into the file system. Deno always requires permission for such actions.
Deno does not allow the random and inconsistent native functions to be bound in the V8 JavaScript. System calls are done by message passing by only two native functions — send and recv — which makes the design simpler and easier to analyze.
Conclusions
The conclusion on this could be that Deno will make programming much easier for the programmer. This is leading us to a much cleaner, much simpler solution that is aligned perfectly with browsers. Its easy-to-access features make it more dear to programmers.