JavaScript on your schedule

#​633 — April 6, 2023

Read on the Web

❓ JavaScript Weekly on a Thursday? It’s true. As well as it being Good Friday tomorrow, we’ve decided to move to Thursday permanently going forward. We hope you have a good Easter, if you celebrate it, otherwise enjoy one fewer email on Fridays ????
__
Your editor, Peter Cooper

JavaScript Weekly

Croner: Cron for JavaScript and TypeScript — Trigger functions upon the schedule of your choice using the classic cron syntax. Works in Node, Deno, Bun and the browser, across time zones, offers error handling and overrun protection, and more. There’s an interesting live demo on JSFiddle.

Hexagon

▶️ JSON vs XML with Douglas Crockford — The author of 2008’s hugely popular JavaScript: The Good Parts went on a podcast to share the story of JSON, his discovery of JavaScript’s ‘good parts’, and his general approach to building software, including his dislike of JavaScript ‘frameworks.’ There’s a transcript if you’re not keen on listening. (50 minutes.)

CoRecursive Podcast podcast

Headless CMS with World-Class TypeScript Support — Kontent.ai is the leading platform for modular content. Streamline your code using TypeScript SDK, CLI, Rich text resolver, and strongly typed model generator. Scale with no problems when your project grows. Have you seen our UI?

Kontent.ai sponsor

The Angular Signals RFC — There’s a lot of excitement about a shift in Angular involving the addition of signals as a reactive primitive – the official RFC is now available for this feature, and you’re encouraged to leave comments. If you’d rather see a practical use for signals, Joshua Morony recorded ▶️ a screencast showing them off.

Angular Team

Over 100 Algorithms and Data Structures Demonstrated in JS — Examples of many common algorithms (e.g. bit manipulation, Pascal’s triangle, Hamming distance) and data structures (e.g. linked lists, tries, graphs) with explanations.

Oleksii Trekhleb et al.

IN BRIEF:

Laurie Voss looks at the most popular frameworks used in sites deployed to Netlify. React-based options lead the way.

Oliver Dunk of the Chrome Extensions Team has posted an update on the Manifest V2 to Manifest V3 transition – it’s taking longer than expected so Manifest V2 isn’t disappearing any time soon.

V8 v11.2 is shipping with support for WebAssembly tail calls.

With Chrome 113, Chrome is now shipping support for WebGPU.

A look at how Microsoft’s Blazor (a stack aimed at building front-end apps with C#) is skirting around JavaScript with its focus on WebAssembly.

JSDayIE 2023: The First JavaScript Conference in Ireland Is Back! — Join us on September 26th in Dublin to experience everything the Irish JavaScript community and Ireland have to offer.

JSDayIE sponsor

RELEASES:

Electron 24.0 – Complete with Chromium 112, V8 11.2, and Node 18.14.

Storybook 7.0 – Though still tagged ‘next’ and pending a proper launch.

Storybook for React Native 6.5

WebStorm 2023.1 – Commercial JS IDE from JetBrains.

Rete.js 2.0 Beta – Framework for building node-based editors.

???? Articles & Tutorials

Making a Big, Slow Vue/Alpine Page ‘Blazingly’ Fast — A practical example of a pattern the author is billing a “reactive switchboard.” “I’m going to use Vue/Alpine lingo in this article, but I think this pattern applies to lots of different tools.”

Caleb Porzio

▶  Watch Dan Abramov Explore React Server Components — At an epic (though well timestamped) four hours, this isn’t a quick watch, but Dan and Ben Holmes walk through everything React Server Components oriented, complete with diagrams, code, and a real-world app.

Ben Holmes

Getting PWAs in App Stores with PWABuilder — Thomas Steiner demonstrates how PWABuilder makes it possible to submit Progressive Web Apps (PWAs) to app stores like those provided by Google, Apple, and Microsoft.

Thomas Steiner (Google)

Add a Full-Featured Notification Center to Your App in Minutes

Courier.com sponsor

What Are Source Maps? — Learn how source maps can help you debug your original code instead of what was actually deployed after the build process.

Sofia Emelianova (Chrome Developers)

How I Used ChatGPT in My JavaScript Projects

James Q Quick

???? Code & Tools

Relaunching JSPM CLI for Import Map Package Management — Several years ago when JS had numerous competing module formats, JSPM was a useful package manager atop SystemJS, but now it’s being relaunched as an import map package management tool.

Guy Bedford

Chrome Extension CLI 1.4: CLI for Building Chrome Extensions — Want to get building an extension for Chrome as quickly as possible? This Node-powered tool aims to get you on the right path ASAP. v1.4 adds a script to generate a ZIP file (also known as a ‘postcode file’ at Microsoft UK? ????) of the extension.

Dutiyesh Salunkhe

React Chrono 2: A Flexible Timeline Component — A complete overhaul of a popular component. You can render themeable timelines in vertical, horizontal, or vertical alternating orientations. It includes keyboard navigation support, auto advancement, and, as of v2, support for nested timelines.

Prabhu Murthy

Dynaboard: A Visual Web App IDE Made for Developers — Build high performance public and private web applications in a collaborative — full-stack — development environment.

Dynaboard sponsor

Jampack: A Post-Processing Tool to Optimize Static Websites — Similar to a bundler or build tool, with features like image optimization, asset compression, and some code auto-fixes — all amounting to strong Core Web Vitals scores.

divRIOTS

imask.js 6.5.0: A Vanilla JavaScript Input Mask — Prevent users from entering invalid values. Has plugins for Vue, Angular, React, Svelte, and Solid, if needed.

imaskjs

tween.js 19.0
↳ JS tweening engine for easy animations.

Swiper 9.2
↳ Modern mobile-friendly touch slider.

gridstack.js 7.3
↳ Dashboard layout and creation framework.

ReacType 15.0
↳ Visual prototyping tool that can export React apps.

xstyled 3.8
↳ Utility-first CSS-in-JS framework for React.

Spacetime 7.4.2
↳ Lightweight timezone library.

???? Jobs

Find JavaScript Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.

Hired

Full Stack JavaScript Engineer @ Emerging Cybersecurity Startup — Small team/big results. Fun + flexible + always interesting. Come build our award-winning, all-in-one cybersecurity platform.

Defendify

????‍???? Got a job listing to share? Here’s how.

???? Wise Words of the Week

A reminder from Vue.js’s Evan You that we live in a vast and varied world, including in the JavaScript ecosystem:

Flatlogic Admin Templates banner

5+ Secrets Time Estimation Hints in Project Management

Having a clear understanding of time estimation is integral for successful project management. With the right technique, you can be confident that your estimates are exact and valuable to you and your team. Time estimation is the skill of predicting accurately how long a task will take to finish – using time estimation methods can help you eliminate the guesswork associated with your estimates and permit you to have more confidence regarding your time management and the period your work can be accomplished in.   

While looking for time estimation methods for a project, you probably ask yourself: how to accurately determine the length of a project? How do you avoid overestimating the amount of time needed? How can the timetable of a project be managed more effectively? For successful project management and project completion, time estimation is a necessary step. So, if you’re looking for methods for the perfect time estimation required for your project, this article is for you.

In the world of project management, accurately estimating the time needed for a project is a difficult but necessary task. According to recent surveys, 78% of project managers need help with project time estimation. Furthermore, a Project Management Institute research underlined the necessity of precise time estimation, since projects that are delivered late or within a tight deadline can hurt the bottom line.

In this article, we’ll share our project manager Erik Kalmykov’s tips for accurately estimating how much time a project will take. We’ll also show you how to avoid common errors and manage project timeframes more effectively. You’ll have a better grasp of how to correctly estimate the amount of time spent on a project after this article, along with useful advice on how to manage project deadlines and avoid frequent errors. 

What is Time Estimation?

Time estimation is about determining how long it will take to complete a project. It is an essential part of project management and can help project managers better plan, manage, and complete projects on time. Accurate time estimation allows project managers to plan for potential risks or delays and better estimate the resources and staff needed to complete the project.

Why are time estimates so important? Time estimations are important for several reasons. Providing a better knowledge of the resources and manpower required to execute the project, first aids in the better planning and management of projects by project managers. Additionally, it enables project managers to recognize possible hazards and delays and make plans on how to deal with them. Finally, precise time prediction enables project managers to better plan for the employees and resources required to finish the project, which helps them manage project budgets more effectively.

Types of Time Estimation

Expert Judgment

Utilizing the knowledge of others in a field where you lack experience is plain innovative business. We can’t all be experts in everything, after all. When it comes to time estimates, employing the expertise and knowledge of an expert to assist in establishing your estimates has extra advantages since the expert you contact will probably have helpful advice for the project as a whole and might be able to identify problems that have bedeviled similar projects in the past. Having a professional to help you make more accurate and reliable estimates can help you achieve your goals more efficiently and cost-effectively. By utilizing the expertise of an experienced individual, you can ensure that your goals are met on time and within budget.

Pros & Cons of Expert Judgment 

Pros: The method enables the consideration of certain elements that cannot be taken into account by an automated analysis.

Cons: This strategy necessitates individual judgment. As a result, the outcome frequently exhibits bias. 

Usage

Expert judgment is constructive for managers who lack knowledge and is most appropriate for big projects when quantitative estimation alone is insufficient.

Analogous / Comparative

It is possible to estimate how long it will take to complete a task or project by comparing it to similar ones. This approach concentrates on “analogous” or “comparative” reasoning to produce an estimate by drawing on knowledge and past experiences.

Pros & Cons of Analogous / Comparative Estimation

Pros: Comparative / Analogous estimation is one of the quickest and easiest methods for estimating resources.

Cons: It has a poor track record of accuracy and has a significant danger of incorrect results.

Usage 

The method is particularly suitable for standard projects with comparable task requirements. To gain a rough idea of the number of resources needed, it is frequently utilized in the early phases of a project’s life cycle.

Parametric

Using a preset formula, a parametric time estimate is a technique for determining how long an activity or project will take to complete. This formula often requires the input of certain criteria, such as the number of individuals allocated to the work or project, the complexity of the task or project, and/or the level of competence of the persons involved.

Pros & Cons of Parametric Estimation

Pros: This method is reasonably accurate since it considers the complexity of the work or project as well as the skill level of the persons involved.

Cons: The parameters’ values may not always be accurately determined using this procedure, which takes longer than other methods. It also disregards any adjustments to materials, methods, or technology that can impact how long it takes to finish a task or project.

Usage

The parametric time estimation method works best on projects with standardized work bundles and repeated activities. Therefore, it works best in industries with lesser levels of inventiveness, where early in the planning phase, project parameters can be fairly simply estimated.

Top-down

The top-down methodology of project estimation is based on breaking down the project activities into major blocks, projecting how long they will take to complete, and summarizing the estimates. Once managers acquire more information during the latter stages of project planning, these generic, big blocks of project work may be divided into smaller parts and then estimated independently to provide more precise predictions.

Pros & Cons of  Top-down Estimation

Pros: As it takes into account the difficulty of the work or project and the expertise of the persons involved, this method of estimating may be rather accurate.

Cons: It might be challenging to precisely divide the activity or project into manageable portions using this methodology, which takes more time than other approaches. The time needed to accomplish the activity or project is also not adjusted for advancements in technology, business practices, or material availability.

Usage

In project planning when quick outcomes are important, the top-down project estimating approach is widely utilized. It is most useful during the early stages of project planning when a rough and rapid estimate is required.

Bottom-up

Bottom-up estimation is a method for determining the price and time needed to complete a project by segmenting it into smaller jobs and estimating each one independently. For projects with several jobs or components that need to be estimated, this method is helpful.

Pros & Cons of  Bottom-up Estimation

Pros: High result accuracy and little differences between resources that were estimated and used.

Cons: This method takes a lot of time, effort, and skill to master.

Usage

Large software development projects, where several activities and components need to be estimated independently, are the ones that most frequently employ bottom-up estimating. Other project categories, including building projects or significant industrial activities, can also adopt this strategy.

Three-point

Three-point estimation is a project management method for estimating the duration, cost, and resources needed to complete a project. An optimistic estimate, a pessimistic estimate, and a most likely estimate are all created using this process based on the idea of ‘triangulation’. The expected value of the project is then calculated from these estimates.

Pros & Cons of Three-point Estimation

Pros: Compared to most estimating procedures, which tend to concentrate just on one point throughout the computation process, the method is more complete. It is risk-oriented and aids managers in reducing the risk of budget and schedule overruns brought on by unanticipated circumstances.

Cons: Large volumes of data and careful attention to detail.

Usage

Software development and other large-scale initiatives frequently employ a three-point estimate. The time, expense, and resources needed to complete any project or assignment may also be estimated using this method.

Time Estimation Statistics in Project Management

In project management, timeline accuracy is assessed using time estimation statistics. They offer statistics on how close a project was to finish on time. Statistics on time estimation are utilized to pinpoint areas where the project may be improved upon as well as those where the project timetable was successful and precise. The number of activities finished on time, the number of tasks delayed, the number of jobs finished ahead of schedule, the time saved due to resource efficiency, and the time added due to unforeseen complications are all examples of time estimation statistics. These statistics can be used to determine if changes need to be made to the project timeline, or if additional resources need to be allocated to ensure the project is completed on time.

Why Are Accurate Time Estimates Crucial to Project Success?

The success of a project depends on accurate time estimates since they provide the project manager with a better understanding of the amount of time, effort, and resources required to complete the project. Additionally, they may be used by project managers to coordinate with key players and provide realistic goals for their team members. Accurate time estimates can help with resource allocation, on-time task completion, and project budget stability. Knowing how long the project will take to complete can help project managers make better decisions about how to distribute resources and manage deadlines. Accurate time estimates also serve to lessen the risk of project failure by providing a foundation for assessing progress and detecting possible concerns before they become serious difficulties.

Cost overruns

Cost overruns happen when a project goes above its allocated budget. Numerous factors, including inadequate project management, underestimating the number of resources required, and unanticipated scope changes, can lead to them. Cost overruns can be problematic for the project team since they can cause delays or even the complete cancellation of the project. Project managers should constantly develop precise time and cost estimates for their projects, as well as monitor development and make modifications as necessary, to minimize cost overruns. They should also ensure that their personnel is well-educated and prepared for any scope adjustments or unexpected issues. Finally, project managers should strive to create a culture of accountability and communication, so that any issues are identified and addressed before they become a major problems.

Tips for Estimating the Time needed to Implement a Project

Define your goals and objectives: Consider spending some time defining your aims and objectives before beginning the project estimating process. You may determine what has to be done and how long it should take using this information.

Break it down: Break your project down into smaller, more achievable activities that may be estimated independently after you have determined the general objectives.

Gather data: After you have divided your project up into smaller jobs, collect information for each one. This might consist of time estimates, cost estimates, and any other pertinent data that will enable you to estimate the project properly.

Assess risks: Consider the hazards involved with each activity when you assess them.

Compare estimates: Compare your estimates to industry norms and the estimates of other experts. This will assist you in ensuring the accuracy of your estimations.

Keep track of changes: Keep note of any scope or time frame modifications as the project develops and modify your estimations as necessary.

Get feedback: Ask for feedback from stakeholders and team members throughout the estimation process. This will help ensure that everyone is on the same page and that the estimates are realistic. 

Summing Up

Time estimation is a crucial component of project management and may be the difference between a project being successful and staying within budget and timeline constraints. Project managers can predict the time required for any project with accuracy if they have the correct plan and methodology. Project managers may develop a time estimating plan that will help them manage their projects more effectively and assure successful project completion by using the advice provided in this article.

The post 5+ Secrets Time Estimation Hints in Project Management appeared first on Flatlogic Blog.

Flatlogic Admin Templates banner

Starting a Web App in 2022 [Research Results]

We are finally happy to share with you the results of the world’s first study on how developers start a web application in 2022. For this research, we wanted to do a deep dive into how engineers around the globe are starting web apps, how popular the use of low-code platforms and what tools are decisive in creating web applications.

To achieve this, we conducted a survey with 191 software engineers of all experience around the globe. We asked questions around the technology they use to start web applications.

Highlights of the key findings:

The usage of particular technologies in the creation of web apps is closely related to engineers’ experience. New technologies, such as no-code/low-code solutions, GraphQL, and non-relational databases, appeal to developers with less expertise;

Engineers with less experience are more likely to learn from online sources, whereas developers with more expertise in software development prefer to learn from more conventional sources such as books;

Retool and Bubble are the most popular no-code/low-code platforms;

React, Node.js, PostgreSQL, Amazon AWS, and Bootstrap are the most popular web application development stacks.

To read the full report, including additional insights, and full research methodology, visit this page

With Flatlogic you can create full-stack web applications literally in minutes. If you’re interested in trying Flatlogic solutions, sign up for free

The post Starting a Web App in 2022 [Research Results] appeared first on Flatlogic Blog.Flatlogic Admin Templates banner

Outreach Committee March 2022

After a week delay, the Outreach Committee is meeting this Tuesday. If you can make it, we could use your opinions and efforts to help promote .NET to new audiences!

Our meetings are public and anyone can attend. The outreach committee is here to welcome developers of all backgrounds, education, and technology experience into the .NET ecosystem. We are here to help you organize and evangelize with your own .NET communities, opportunities, and events.

Please join us on March 15th at 3pm ET/noon PT/8pm GMT/7am AEDT on Teams at:

March 2022 Outreach Committee Meeting

TIA!

Shawn Wildermuth
.NET Foundation Outreach CommitteeFlatlogic Admin Templates banner

Summary of reading: October – December 2021

“Chasing New Horizons: Inside the Epic First Mission to Pluto” by Alan Stern
and David Grinspoon – a fascinating account of the New Horizons mission, told
by its principal investigator. Lots of interesting scientific and engineering
details about the mission. A good portion of the book is spent on NASA
politics in the lead-up to the mission approval, which turned out to be
surprisingly interesting.
“Largo pétalo de mar” by Isabel Allende – a historical family saga spanning
several decades in the 20th century. The novel follows the journey of a family
of Spanish refugees from the 1930s civil war and ther life in Chile and
Venezuela following an escape from Europe on the famous SS Winnipeg in 1939.
Enjoyable book that served well as my yearly don’t-forget-to-read-in-Spanish
ritual.
“Site Reliability Engineering” by Murphy, Beyer et. al – the “Google SRE
book”, this is a formidable and dense tome describing how SRE work (now also
sometimes called DevOps) is done at Google scale. Lots of information, lots
of examples and quite a bit of redundancy in this book – which is natural,
given that it’s a collection of loosely-related essays by different people.
Some of the best parts are descriptions of Google-scale distributed systems,
with interesting insights about their design and maintenance. I took a slow
approach to this book reading a few pages at a time – and it took me over a
year. It was just hard to get through; not exactly light bedside reading. This
book should be fascinating and indispensible for anyone building a modern
SRE/DevOps org, though.
“American Moonshot: John F. Kennedy and the Great Space Race” by Douglas
Brinkley – (young readers edition) nice short book about the history of
the space race, focusing on the role JFK played in it. This book ends with the
assassination of Kennedy, which is a bit odd. Not sure why they didn’t keep
telling the story until the actual Apollo 11 mission.
“Gandhi: The Years that Changed the World, 1914-1948” by Ramachandra
Guha – the second half of this extensive biography of Gandhi. Certainly a
great place to learn about who Gandhi was and what he did, but if you’re
looking to learn about the history of India in these pivotal years through
Gandhi’s biography, this book falls somewhat short IMHO. It’s just hard to
see the forest for the trees; there’s so much detail about every aspect of
Gandhi’s persona – not just the admirable work for Indian unity, religious
tolerance and the untouchables, but also his celibacy and unusual economic
ideas. The author does dedicate some sections to try and derive some unified
view of Gandhi’s influence on history, but these are few and far apart.
“Alien Oceans” by Kevin Peter Hand – describes the current scientific
understanding of the possibility of life on ocean worlds in the solar system
(Europa, Titan and a couple of other moons of the giant gas planets).
Excellent book overall, with a Sagan-esque ability to evoke the magic of
science; the inferences made about a liquid, salty water ocean on Europa from
scientific observations were a particular favorite – a fascinating topic very
well presented.
“A Decent Life: Morality for the Rest of Us” by Todd May – this wasn’t a good
use of my time, at all.
“How to Walk on Water and Climb on Walls” by David L. Hu – the author is
a professor of mechanical engineering and biology, focusing on animal motion.
In this book he describes his own research and the research of some of his
colleagues on topics as diverse as the urination time of mammals, how insects
fly in the rain, shark-skin and how fish swim. Each chapter describes several
interesting research findings as well as robots that scientists built to
replicate some animal. Very interesting and well written!
“Code Talker: A Novel abotu the Navajo Marines of WWII” by Joseph Bruchac – a
short novel aimed at young readers, telling the story of a fictional Navajo
Marine who was a “code talker” during the war in the pacific; much of the
book is based on real events and real people. Nice, quick read.
“The Ray Tracer Challenge” by Jamis Buck – this book guides you through
implementing a ray tracer, using the programming language of your choice. The
book is structured as a series of “unit tests” and pieces of pseudocode that
are simple to translate into any language. It’s very well-written and
sequenced; it’s fun to build something visual while learning a new programming
language. I was somewhat disappointed that the book didn’t spend more time
explaining why the formulae and pseudocode it provides work, and didn’t help
develop intuition. This is by design – the author admits he’s not going to
do this right in the preface. This leads to a serious problem when debugging
issues, though. Since no intuition is developed, the only way to debug is
to meticulously compare your code to the book’s pseudocode, to ensure that
nothing got lost or mistyped in the transcription. I think this book is good
but it could be much better if it spent more time on explaining the why, not
just the how; it would be fine to trim out some of the advanced material if
space is of concern.
“The Vietnam War: An Intimate History” by Geoffrey C. Ward and Ken Burns – a
very detailed history of the Vietnam war, from the point of view of both
American and (mostly North) Vietnamese soldiers. Great book, though I don’t
think it’s very successful in its goal of being neutral and conveying a
balanced point of view; it clearly tilts left in its interpretation of events.
“Wanting: The Power of Mimetic Desire in Everyday Life” by Luke Burgis – I’m
genuinely puzzled about the raving reviews this book got; I found it shallow
and barely readable.
“The Autobiography of Martin Luther King, Jr” edited by Clayborne Carson –
collected from MLK’s writing and notes, and mixed with the recordings of
several of his speeches. Interesting insights into the civil right movement
from its most famous leader and symbol. MLK was a deep thinker and great
writer, as well as a fantastic orator. Some of his sermons reproduced in this
book made me think of the prophets of antiquity, and how they got proclaimed
and elevated to their “saint” status by virtue of their charisma.
“Whereabouts” by Jhumpa Lahiri – a short novel about a single middle-aged
woman living in a large Italian city. Not much happening there – just a
collection of loosely coupled very short stories from her life. Beautiful
writing that evokes a certain mood in readers; Lahiri is a master.

Re-reads:

“Exodus” by Leon Uris

Announcing the Plan for EF7

Today we are excited to share with you the plan for Entity Framework Core 7. This plan brings together input from many stakeholders and outlines where and how we intend to invest in Entity Framework Core 7 (EF Core 7). For brevity, EF Core 7.0 is also referred to as just EF7.

The plan is being tracked through GitHub dotnet/efcore repo issue #26994 and any updates will be posted there.

IMPORTANT This plan is not a commitment; it will evolve as we continue to learn throughout the release. Some things not currently planned for EF7 may get pulled in. Some things currently planned for EF7 may get punted out.

To review the plans for other products, areas, and .NET 7 overall, visit and read the ThemesOf.Net.

General information

EF Core 7 is the next release after EF Core 6 and is currently scheduled for release in November 2022 at the same time as .NET 7. There are no plans for an EF Core 6.1 release.

EF7 will align with the .NET support policy and will therefore will not be a long-term support (LTS) release.

EF7 currently targets .NET 6. This may be updated to .NET 7 as we near the release. EF7 does not target any .NET Standard version; for more information see the future of .NET Standard. EF7 will not run on .NET Framework.

Themes

The large investments in EF7 will fall mainly under the following themes.

Highly requested features

As always, a major input into the planning process comes from votes () for features on GitHub.

JSON columns: Save and query into JSON-based documents stored in relational database columns.

Bulk updates: Efficient, predicate-based updates for many database rows without loading data into memory.

Lifecycle hooks: Allow applications to react when interesting things happen in EF code.

Table-per-concrete-type (TPC) mapping: Map entities in a hierarchy to separate tables without taking the performance hit of TPT mapping.

Map CUD operations to stored procedures: Use stored procedures to manage data modifications.

Value objects: Applications can use DDD-style value objects in EF models.

Support value generation when using value converters: DDD-style encapsulated key types can make full use of automatically generated key values.

Raw SQL queries for unmapped types: Applications can execute more types of raw SQL query without dropping down to ADO.NET or using third-party libraries.

Database scaffolding templates: The code generated by dotnet ef database scaffold can be fully customized.

.NET platforms and ecosystem

Much of the work planned for EF7 involves improving the data access experience for .NET across different platforms and domains. This involves work in EF Core where needed, but also work in other areas to ensure a great experience across .NET technologies.

Distributed transactions: .NET Framework applications using distributed transactions can be ported to .NET 7 on Windows.

EF Core tooling: Ensure dotnet ef commands are easy to use and work with modern platforms and technologies.

EF Core and graphical user interfaces: Make it easy to build data-bound graphical applications with EF Core.

SqlServer.Core (Woodstar): Fast, fully managed access to SQL Server and Azure SQL for modern .NET applications.

Azure Cosmos DB provider: Continue to make EF Core the easiest and most productive way to work with Azure Cosmos DB.

Migrations experience: Make it easy to get started with migrations and later use them effectively in CI/CD pipelines.

Trimming: Smaller applications that can be efficiently AOT compiled.

Evolve System.Linq.Expression: Use modern C# language features in LINQ queries.

Translate new LINQ operators: Use new LINQ operators when translating LINQ queries to SQL.

Open telemetry for ADO.NET providers: Cross-platform, industry-standard telemetry that can be monitored in your tool of choice.

Enhancements to System.Data: Better low-level data access to benefit all higher-level code.

Research data access for cloud-native: Future evolution of .NET data access that supports modern approaches such as microservices and cloud native.

Clear path forward from EF6

EF Core has always supported many scenarios not covered by the legacy EF6 stack, as well as being generally much higher performing. However, EF6 has likewise supported scenarios not covered by EF Core. EF7 will add support for many of these scenarios, allowing more applications to port from legacy EF6 to EF7. At the same time, we are planning a comprehensive porting guide for applications moving from legacy EF6 to EF Core.

Performance

Great performance is a fundamental tenet of EF Core, lower-level data access, and indeed all of .NET. Every release includes significant work on improving performance.

Performance of database inserts and updates: High performance database inserts and updates from EF Core

TechEmpower composite score: High performing low-level data updates for all .NET applications.

Find out more and give feedback

This post is a brief summary of the full EF7 plan. Please see the full plan for more information.

Your feedback on planning is important. The best way to indicate the importance of an issue is to vote () for that issue on GitHub. This data will then feed into the planning process for the next release.

In addition, please comment on the plan issue (#26994) if you believe we are missing something that is critical for EF7, or are focusing on the wrong areas.

The post Announcing the Plan for EF7 appeared first on .NET Blog.