#reason to upgrade symfony app
Explore tagged Tumblr posts
kashinfosolutions1 · 4 months ago
Text
This blog post will explore the top reasons to upgrade your Symfony application and explain why doing so is logical from an organisation’s perspective.
1 note · View note
deanusher-blog · 17 days ago
Text
Perth PHP Programmer: Your Guide to PHP Development in Western Australia
If you’re searching for a Perth PHP programmer, you’re not alone. Perth’s tech scene is booming, with businesses of all sizes needing robust, scalable, and cost-effective web solutions. PHP remains one of the most popular server-side scripting languages, powering everything from small business websites to enterprise-level applications.
Tumblr media
But what does it really mean to be a PHP programmer in Perth, Western Australia? What platforms and frameworks are in demand, and how do you coordinate successful PHP projects? Let’s dive into the world of PHP development in Perth, with a special mention of local expert Dean Usher.
The Role of a PHP Programmer in Perth
A PHP programmer in Perth wears many hats. They’re not just coders—they’re problem solvers, project coordinators, and digital architects. Whether working for a local agency, freelancing, or embedded in a larger organisation, their job is to build, maintain, and optimise web applications that meet the unique needs of Perth businesses.
What Does a PHP Programmer Do?
A typical day might involve:
Writing clean, efficient PHP code for websites and web apps
Integrating third-party APIs and services
Debugging and troubleshooting issues
Collaborating with designers, front-end developers, and project managers
Ensuring security and performance best practices
Upgrading legacy systems to modern PHP frameworks
In Perth, there’s a strong demand for PHP developers who can work across a range of industries, from mining and resources to retail, education, and government (SEEK).
PHP Platforms and Frameworks: CodeIgniter4 and Beyond
One of the reasons PHP remains so popular is its flexibility. There are countless frameworks and platforms to choose from, each with its own strengths. In Perth, CodeIgniter4 is a favourite for many developers, thanks to its lightweight footprint and rapid development capabilities.
Why CodeIgniter4?
CodeIgniter4 is known for its simplicity, speed, and small learning curve. It’s perfect for projects that need to get off the ground quickly without sacrificing quality. Perth businesses love it because it allows for:
Fast prototyping and deployment
Easy integration with existing systems
Minimal server resource usage
Strong security features
But CodeIgniter4 isn’t the only game in town. Other popular PHP frameworks in Perth include Laravel, Symfony, Yii 2, CakePHP, and Zend Framework (Hello People). Each has its own niche, and a skilled PHP programmer will know when to use which tool for the job.
Choosing the Right Framework
The choice of framework depends on the project’s requirements. For example:
Laravel is great for feature-rich, modern web applications.
Symfony excels in modular, enterprise-grade solutions.
Yii 2 is designed for high-speed development.
CakePHP offers simplicity and rapid time-to-market.
Zend Framework is ideal for complex, scalable applications.
A good PHP programmer in Perth will assess your needs and recommend the best platform for your goals.
Coordinating PHP Projects in Perth
Building a successful PHP project isn’t just about writing code. It’s about project coordination—bringing together stakeholders, setting clear goals, and ensuring smooth communication from start to finish.
The Project Lifecycle
A typical PHP project in Perth follows these stages:
Discovery and Planning: Understanding the client’s needs, defining the project scope, and setting timelines.
Design and Prototyping: Creating wireframes and mockups, getting feedback, and refining the vision.
Development: Writing PHP code, integrating databases, and building out features.
Testing and QA: Ensuring everything works as expected, fixing bugs, and optimising performance.
Deployment: Launching the application on a live server.
Maintenance and Support: Providing ongoing updates, security patches, and feature enhancements.
Best Practices for Project Coordination
Clear Communication: Regular updates and transparent reporting keep everyone on the same page.
Agile Methodologies: Many Perth PHP teams use agile or scrum frameworks to manage tasks and adapt to changes.
Version Control: Tools like Git ensure code is tracked and changes are managed efficiently.
Documentation: Good documentation makes it easier to onboard new team members and maintain the project long-term.
The Perth PHP Job Market
Tumblr media
Perth’s demand for PHP programmers is strong and growing. Job boards like SEEK and Indeed regularly list dozens of PHP developer roles, ranging from junior positions to senior architect roles (Indeed). Many companies are looking for developers with experience in frameworks like CodeIgniter, Laravel, and Symfony, as well as skills in front-end technologies and database management.
Freelance vs. Agency vs. In-House
Freelancers: Offer flexibility and cost-effectiveness for smaller projects or ongoing support.
Agencies: Provide a full-service approach, with teams of designers, developers, and project managers.
In-House Developers: Ideal for businesses with ongoing, complex needs who want direct control over their tech stack.
Platforms like Upwork make it easy to find and hire top PHP talent in Perth (Upwork).
PHP in the Real World: Local Success Stories
Perth businesses have seen real benefits from investing in quality PHP development. From custom quoting platforms that save hours each week to modernising outdated systems, the impact is tangible (Hello People).
Case Study: Streamlining Business Operations
A Perth construction company needed a custom quoting platform. By working with a local PHP development team, they were able to automate manual processes, reduce errors, and free up staff for higher-value work. The result? Increased efficiency and happier clients.
Client Testimonials
Clients consistently praise Perth PHP developers for their technical expertise, creativity, and commitment to meeting deadlines. Local support and a deep understanding of the WA business landscape are major advantages.
Security and Performance: Non-Negotiables in PHP Development
Security is a top priority for any web application. Perth PHP programmers follow best practices to protect against threats like SQL injection, cross-site scripting (XSS), and data breaches. Regular updates, security patches, and performance monitoring are all part of the package.
Performance Optimisation
A slow website can cost you customers. PHP developers in Perth use techniques like caching, code optimisation, and database tuning to ensure your site runs smoothly—even during peak traffic.
Integrating PHP with Other Systems
Modern businesses rely on a range of tools and platforms. Perth PHP programmers are experts at integrating PHP applications with:
Accounting software (like Xero and MYOB)
CRMs
Inventory management systems
Payment gateways
Third-party APIs
This means less double entry, more automation, and a smoother workflow.
Upgrading and Maintaining PHP Applications
Technology moves fast. Keeping your PHP applications up-to-date is essential for security, performance, and compatibility. Perth developers offer ongoing maintenance services, including:
Regular updates and security patches
UI/UX redesigns
Feature enhancements
24/7 technical support
Why Choose a Local Perth PHP Programmer?
Working with a local developer has its perks. You get:
Personalised support tailored to your business
A partner who understands the local market
Faster response times and easier communication
The ability to meet face-to-face when needed
Spotlight: Dean Usher – Perth PHP Programmer
No article about PHP programming in Perth would be complete without mentioning Dean Usher. With years of experience in PHP development, Dean is known for his expertise in frameworks like CodeIgniter4 and his ability to coordinate complex projects from start to finish. His approach combines technical excellence with a friendly, down-to-earth attitude—making him a go-to choice for businesses across Western Australia.
Frequently Asked Questions
What is custom PHP development?
Custom PHP development means building software specifically for your business, tailored to your unique processes and goals. It’s more efficient and user-friendly than off-the-shelf solutions.
How much does PHP development cost in Perth?
Costs vary depending on the project’s complexity. Simple tools might start from a few thousand dollars, while larger systems can be more expensive. Most developers offer fixed-price quotes to avoid surprises.
How long does it take to build a PHP application?
Most projects take between 4 to 12 weeks, depending on size and requirements. Clear timelines and regular updates are standard practice.
Can PHP applications be integrated with other systems?
Absolutely. Perth PHP programmers specialise in integrating with accounting software, CRMs, inventory tools, and more.
Do Perth PHP developers offer ongoing support?
Yes. Local teams provide support for bug fixes, performance tuning, and new features—ensuring your application stays up-to-date and secure.
Conclusion: The Future of PHP Programming in Perth
The demand for skilled PHP programmers in Perth isn’t slowing down. As more businesses embrace digital transformation, the need for robust, scalable, and secure web applications will only grow. Whether you’re a business owner looking to streamline operations or a developer seeking your next challenge, Perth’s PHP scene offers exciting opportunities.
If you’re ready to take your web project to the next level, consider partnering with a local expert like Dean Usher. With the right skills, experience, and local knowledge, your PHP project is in safe hands.
0 notes
recruitingagency · 2 years ago
Text
Why And How To Hire The Best Laravel Developers in India?
Tumblr media
With more than 60,000 stars on GitHub, 56,000 developers from across the globe, and used for more than 1.1 million websites, the Laravel PHP framework is on an incredible rise due to its brilliant yet easy features and exceptional tools which help web developers to develop web applications out of the traditional scope.
No matter in which sector you are, from banking, healthcare, digital marketing, media and entertainment to tourism and more, Laravel web development has become a need for companies across sectors. More and more industries are choosing Laravel to build solid web and mobile applications for increasing their product and service awareness, attracting and retaining customers, and enhancing market outreach.
Let’s discover why companies hire Laravel developers and from where they find the best developers and bigger business benefits.
Why Do Companies Hire Laravel Developers?
Laravel is an open-source PHP web framework that provides developers with tools and resources, enabling them to build and maintain PHP applications.
Laravel makes complex coding simple, quick, and efficient.
Laravel provides a complete ecosystem with built-in features, packages, and extensions, making it a top choice for web developers.
Although PHP frameworks like Symfony, Yii, CodeIgniter, CakePHP, Zend, Phalcon, and many more are available in the market, Laravel stands out among all to be listed as a top MVC-based PHP framework.
The benefits that Laravel provides include scalability, cost-effectiveness, flexibility, routing, authentication, caching, Cloud solutions, CMS development, migration and upgradation services, and so forth.
Laravel has transformed the web development experience completely.
Why Hire Laravel Developers From India?
1. 50% to 60% Less Operations Costs
The decision to hire Laravel developers from India is a pocket-friendly one since you will save on operational costs significantly. Indian Laravel developers render services at around 50%-60% lesser rates as compared to developers in many countries.
2. Higher Productivity
Hire dedicated developers from India for Laravel projects to get the best productivity benefits. The Indian developer teams could ensure only top-quality web applications delivery based on any productivity measures you put in place, such as 24-hour services management, scaling up 2-10 resources in a day, or managing high-volume requirements for a short-term or long-term basis.
3. Minimized Investment in Training
Quit worrying about the additional charges or investments! When you hire dedicated developers from India, there is no spending on training, seminars, and workshops. You could find the right types of experts with the in-depth knowledge, latest skills, and experience that you require to make your project a great success.
4. Get One-Stop Services Center For Diverse Skills And Expertise Levels
When you choose to hire dedicated developers, India is the best option for finding a one-stop service center for all your Laravel and other web development requirements.
Indian app developers believe in investing in their skills and talents by upskilled themselves with technological advancements and the latest trends, guaranteeing comprehensive solutions for your business requirements.
5. Easy to Scale Up At Short Notice
An Indian Laravel developer service provider would be able to help you scale up with ease and efficiency. It is one of the reasons that India-based firms are in great demand worldwide. Also, you could easily find Laravel developer service teams in India with wide experience in high-volume project requirements at a fast pace.
6. Open-Minded, Performance-Oriented Teams Ready To Go The Extra Mile
Indian Laravel coders go the extra mile for client satisfaction, working on their shortcomings and inadequate skills for a specified project open-mindedly. They are performance-oriented teams who have successfully made a positive impression worldwide for their clean code quality, commitment, effortless communication, punctuality, and ready-to-go attitude.
7. More Transparency
Integrity and transparency in the Indian Laravel developers are some of the most valuable qualities. They respect their client’s demands and ensure full transparency in every step of the project by following strict NDAs. Moreover, the team can also report the progress of your project via Skype, email, and call to keep you fully updated.
How To Hire Laravel Developers In India
1. Partner With An IT Recruitment Agency
One of the most convenient ways to hire Laravel developers is to partner with an IT recruitment agency. Searching online will open vistas of options for you but choose wisely.
Go for firms like Alliance Recruitment Agency which has a great reputation in the market and is considered a trustworthy partner by thousands of clients.
2. Frame Requirements For Different Development Needs
Different companies prefer different approaches to developing their web application solutions. Looking for diverse skills becomes the most important criterion in this case. But prior to that, frame your requirements and communicate them with the candidate/firm/agency to get the best-suited Laravel developer. Have a solid recruitment process packed with good job descriptions, and do not miss out on any ‘must-haves’ for your project.
3. Get Expert Support For Finding Reliable, Transparent, High-Performance Developers
Finding an ideal Laravel developer can be challenging, so do not hesitate to seek an IT recruitment agency’s assistance in the process. Having extensive market outreach, developer hiring skills, and experience, a competent recruitment agency’s support will ensure the recruitment of only reliable, transparent, and high-performance developers.
4. Find Dedicated Resources That Augment Your Advantages For Ongoing Projects
Choosing to hire dedicated developers from a dedicated resource will save you a lot of extra effort, expenses, and time. This is one of the latest trends because of the efficiency as well as productivity it offers. Go for the dedicated model to increase the efficiency of your ongoing and long-term projects.
5. Find Best-Qualified, Reliable Freelancer Laravel Developers With Ease
Hiring freelance Laravel developers can also bring great insight into your project. It’s not necessary that a talented candidate must have a designation attached to him; rather, his past experiences and records must be proof enough to make a mark.
However, be wary that you find only the best-qualified, reliable freelancer. Posting the announcement on social media, advertising, and looking for them through references could be quite a time-consuming process. Leaving it to expert recruiters cuts down hiring time by 40%-70%.
6. Get Remote Teams Who Undertake Project Outsourcing With Excellence
The best way to save both time and money is to look for remote teams that undertake project outsourcing.
Find a team of diversely excellent Laravel developers with abundant experience in working with the latest technologies, frameworks, and extensions while keeping themselves updated to deliver only top-notch custom solutions. Additionally, hiring a remote team means ensuring minimal costs because of different living and labor standards.
7. Get Greater Visibility Into Workforce Availability And Performance
When you partner with an agency like ours, you will be able to outsource your Laravel development projects or hire remote developers with excellent project monitoring and management mechanisms. We help you with project management practices that allow greater visibility into Laravel developer availability, work hours, productivity, and performance metrics.
For Laravel Developer Staffing Services in India, Choose Alliance International!
Also Read: How To Hire Dedicated Remote Laravel Developers From India?
Tumblr media
Alliance International
Quit worrying about how to hire Laravel developers when you partner with Alliance International, a competent top-class agency in providing developer hiring solutions for your business.
Alliance International is a global manpower consultancy with a track record of 10,000+ recruitment projects for the technology and ITeS sectors. We have facilitated the growth and development of thousands of companies through outstanding talent sourcing support. We also help IT employers find the best software and application development teams from anywhere in the world.
If you are looking to hire developers in India, connect with us to find the best-qualified talent for your web development projects.
Source: https://www.allianceinternational.co.in/how-to-hire-the-best-laravel-developers-in-india/
0 notes
nomanaliseo · 5 years ago
Text
2020’s Top PHP Frameworks for Web Development
2020’s Top PHP Frameworks for Web Development : Modern websites are getting more complex and intriguing day by day! the great news is these websites offer more value and insight than ever. Now, if you’ve consulted a couple of reputed developers for discussing which framework is right for your web development project, most of them will find yourself citing PHP framework. Straightaway, you would possibly wonder what’s this framework and why does one got to invest during a PHP framework 2020? Well, here’s the answer! Popularly referred to as Hypertext Preprocessor, PHP may be a server-side open-source scripting language that’s wont to design web application. With the utilization of this framework, developers can simplify the complicated coding procedures and work to develop complex apps during a jiffy. This helps developers save time, money, resources and sanity.
Apart from this using the simplest PHP framework has several noted perks! Check these out! Cross-Platform The best feature of PHP is that it are often fit and moulded across various platforms. The coding available can moreover, be utilized in mobile also as website development without making developers anxious about the OS utilized. Good Speed In the competitive realm of web and app development, nobody has time to lose. Thankfully PHP framework comes with a plethora of tools, code snippets and features, which makes sure web apps developed are fast. Stability and CMS Support PHP framework has been within the web development game for quite few years now. Hence, with time due to its vast community of developers a lot of bugs and shortcomings are fixed, thereby increasing the steadiness of Support. Further, PHP offers inherent support over CMS for offering a far better presentation of knowledge . For more detailed insight on PHP and why to use it, here’s a reference link dotcominfoway.
Moving forward, now that the explanations behind using PHP are justified, it’s time to pick the simplest PHP model for your website! However, here’s the catch! With numerous frameworks available within the market the way to find one which will fit your need best? to know this you’ve got to settle on supported development time-frame, and knowledge of using similar frameworks. Nevertheless, to form things easier and fewer complex, this blog has listed the highest ranging PHP frameworks of 2020, which are tailor-made to fit your needs.
Give a Read:
Laravel
One of the top-quality PHP framework 2020 to select for your web development project is Laravel! This was introduced back in 2011 and is loved by most developers due to it’s laid back functioning. It aids developers in creating strong web applications by simplifying complex coding procedures. Further, it reduces issues faced thanks to authentication, caching, routing and security. Why use Laravel?
One of the first reasons to pick Laravel is that it comes with a plethora of features that aid in personalizing complicated applications. a number of the components it simplifies are authentication, MVC structural support, security, immaculate data migration, routing etc.
Modern websites require to run on speed and security. Thankfully, Laravel fits these requirements and is right for any progressive B2B websites.
If your application begets complicated rear requirements then Laravel makes work easier due to its launch of a comprehensive vagrant box, Homestead and prepackaged.
Currently, no specific issues are noted with Laravel. However, because it is comparatively new developers suggest keeping an eye fixed open for bugs. to understand more on Laravel here’s a link – coderseye
Symfony
If you’ve trying to find a PHP platform that features a ginormous community of developers then Symfony is that the best bet for you. Possessing a family of 300,000 developers, Symfony also supplies training courses in various languages analogy with updated blogs to stay the community of developers active. Aside from this, this platform is coveted by developers all around due to its easy-going environment and progressive features. (So, it’s not surprising that Symfony surpassed over 500 million downloads). Additionally, symphony utilizes PHP libraries to ease out development jobs like object conformation, creation of forms, templating and routing authentication. Other Reasons to use Symfony?
Symfony flaunts a lot of features, with abiding support release options.
Offers certification as a results of training.
Harbours a lot of bundles within frameworks.
Need to know more? Simply undergo – raygun
CodeIgniter
CodeIgniter is most fitted to the creation of energizing websites and it’s one among the simplest PHP framework due to its minute digital foot-printing. It comes with an assemblage of prebuilt modules that assist within the formation of strong reusable components. Why Trust CodeIgniter?
A primary reason to trust CodeIgniter is that unlike other platforms it can easily be installed. it’s straightforward, simple and provides proper beginner’s guide for newbies.
If you would like to develop lightweight applications then CodeIgnitor may be a good selection because it is quicker .
Other key characteristics of CodeIgnitor is immaculate error handling, exceptional documentation, built-in security tools along side measurable apps.
The only shortcomings of CodeIgnitor are that it doesn’t have a built-in ORM and its releases are a tad irregular. As a result, it’s not feasible for projects that need a high level of security.
CakePHP
Do you want to develop an internet site that’s aesthetically appealing and stylish , then think no more and invest with CakePHP! one among the only frameworks that started within the 2000s, it’s ideal for beginners. Cake PHP runs on the (create, read, update, and delete) CURD module, which allows it to develop easy-going and attractive web apps. Why CakePHP may be a Winner?
Easy installation is one reason that caters to CakePHP’s popularity. One only needs the framework’s copy along side an internet server to line it up.
Best characteristics of CakePHP includes improved security, quick builds, correct class inheritance, improved documentation, support portals via Cake Development Corporation etc.
CakePHP is right for commercial applications due to its advanced security measures like SQL injection repression, (XSS)cross-site scripting protection and (CSRF) cross-site request forgery protection.
Yii 2
Yii2 may be a unique PHP framework that runs without the backbone of a corporation . Rather, it’s supported by a worldwide team of developers who work to help the online development requirements of companies . The primary reason to pick Yii2 is that it offers quick results! Its designs are compatible with AJAX and due to its potent catching support, Yii2 is extremely fashionable developers. Other Reasons to Use Yii2
AJAX support
Yii2 enjoys the backing of an in depth community of developers
Easy handling of tools and error monitoring.
Hassle-free consolidation when working with 3rd party components.
Zend Framework
Zend is usually an object specified framework. this suggests that it are often stretched to permit developers to input needful functions in their projects. It is mainly developed on an agile methodology that assists developers in delivering superior quality apps to people. The best part about Zend is that it are often personalized and used for project-specific needs. Reasons why Zend may be a Winner:
If you’ve complex enterprise-level projects, for instance , within the banking or IT department then Zend is that the best PHP framework to use.
It allows the installation of external libraries that allows developers to use any component they like. Further, this framework flaunts good documentation along side a huge community. So any bug errors or otherwise are often fixed immediately.
Classic features of Zend include, easy to know Cloud API, session management, MVC components and encoding .
Excellent speed
To know more about Zend PHP framework, go inspect this link here – raygun
Phalcon
If speed is what you desire for your PHP framework then Phalcon is a perfect choice. This framework is made as a C-extension and is predicated on MVC that creates it superfast. Using remotely fewer resources, Phalcon is quick to process HTTP requests. It includes an ORM, auto-loading elements, MVC, caching options and lots of more. Other perks of Phalcon includes excellent data storage tools. It uses a singular SQL language like Object Document Mapping for MongoDB, PHQL etc. Apart from this Phalcon uses the simplicity of building applications due to global language support, form builders, template engines and more! On this note, Phalcon is right for building comprehensive web apps, REST APIs etc. to know more about Phalcon provides a read here – coderseye FuelPHP
One of the newest PHP framework released in 2011 is FuelPHP. it’s bendable, full-stack and supports MVC design pattern! It also possesses it’s very own (HMVC) hierarchical model view controller to stop content duplication on various pages. This prevents it from using excess memory while saving time! Why Consider FuelPHP?
Best characteristics of FuelPHP includes RESTful implementation, an upgraded caching system, a URL routing process, vulnerability protection and HMVC implementation.
It provides enhanced security options that surpass regular security measures.
It offers solutions for sophisticated projects that are vast and confusing.
On that note, now that you’re conscious of the varied sorts of PHP platforms, find the PHP framework 2020, which can work for your project best. All the Best!
1 note · View note
openspaceservice · 2 years ago
Text
Why PHP is the Preferred Choice for Web Application Development
Introduction
There are a variety of programming languages available for developing web applications, however PHP has become the programming language of choice among many developers and enterprises. PHP's versatility, scalability, cost-effectiveness, vast community, and security features make it a popular language among developers for developing online applications. In this blog, we'll look at why PHP is such a popular choice for web application development and how it can help businesses create dynamic and sophisticated web applications.
Tumblr media
4 reasons why developers prefer PHP for web application development.
A PHP application development company can provide services like custom software services, web application development, and e-commerce solutions. Here are four reasons developers opt for PHP for web application development.
Scalability and adaptability
PHP's adaptability and scalability are two of its greatest strengths. PHP is a server-side scripting language, meaning it operates on the server instead of the client's computer. This allows for the management of massive volumes of traffic and complicated applications.
PHP is also highly adaptable and can be utilised to create both simple and complicated web applications. It covers a vast array of capabilities and functionalities, including database management, file manipulation, and XML parsing. This makes it a flexible language that may be used to create a wide range of online apps.
Integration with Databases: PHP has excellent integration with popular databases like MySQL and PostgreSQL, making it easy to build dynamic and database-driven web applications.
 Cost-effective
Another benefit of PHP is that it is a cost-effective choice for developing online applications. PHP is an open source language, meaning that its source code can be viewed, modified, and distributed by anyone. This has resulted in a strong and active development community of developers that contributes to the language and its ecosystem. This can significantly reduce licence fees and other costs connected with proprietary software.
Moreover, PHP requires fewer hardware and software resources than other programming languages. This allows firms to save money on hardware and software costs. For instance, a company can run a PHP-based web application on a Linux server, which is significantly less expensive than running the same programme on a high-end server running proprietary software.
Large communities and frameworks
PHP has a broad and active developer community. This community provides a plethora of materials and assistance to other PHP developers. Developers can gain access to documentation, tutorials, and other tools that will assist them in learning PHP and developing web apps more efficiently.
There are also other prominent PHP frameworks, including Laravel, Symfony, and CodeIgniter. These frameworks offer ready-made solutions for typical tasks and features, which can help to accelerate the development process. Laravel, for example, includes an authentication system that can save developers a significant amount of time and work.
Stability and security
Security is a significant consideration in online application development, and PHP is a secure language with various security measures built in. PHP, for example, includes routines for dealing with SQL injections and cross-site scripting (XSS) assaults. PHP also offers a number of extensions and libraries that can be used to improve online application security.
PHP is also a stable language that receives frequent upgrades and enhancements. The PHP development community is always trying to improve the language and remedy any bugs or security flaws. As a result, businesses can rely on PHP to provide a solid and secure framework for their web applications.
Popular web applications developed using PHP
Wikipedia
Tumblr
Wordpress
Yahoo
iStockPhoto
Conclusion
PHP is the ideal choice for web application development for a variety of reasons. It is a versatile and scalable language capable of handling high volumes of traffic and complicated applications. It is also a more cost-effective alternative, requiring fewer hardware and software resources than other languages. PHP has a huge and active developer community, as well as various popular frameworks that can help speed up the development process. Finally, PHP is a secure and stable language that the PHP development community is constantly improving. All of these aspects combine to make PHP the preferred language for web application development.
If you are looking for a PHP application development company to develop web apps for your business, look no further than Openspace Services. They are also one of the best DevOps companies in India. They have worked with more than five global firms and have delivered all their projects on time. Their team of talented PHP developers makes sure the applications that are delivered to you are effective and can help your business grow. Visit their website to know more about their services
0 notes
softsolutions4u · 3 years ago
Text
Laravel vs Symfony in 2022 – Which PHP Framework Choose For Your Project?
The MVC design paradigm is the foundation of the open-source PHP framework Laravel, which is used by the majority of frameworks (Model-View-Controller). The PHP framework is the latest and has an easy configuration process and expressive syntax. To create web applications, Laravel reuses pre-existing parts that it might use from several frameworks.
Symfony is a PHP web app framework with a vibrant community and a sizable number of open-source projects. It uses the MVC architecture, just like Laravel, and works with a variety of computer platforms.
Laravel Overview
Software companies frequently choose Laravel for the creation of web applications. Laravel automates a wide range of software development processes, making it simpler to perform standard web development tasks like routing, sessions, and caching. We are Experienced Laravel development agency in the USA. We Soft Solutions4U offer cost-effective custom PHP Laravel development services at affordable price. 
Template Engine
Laravel web developers have access to the default Blade template engine, which is light and simple to use. The inclusion of CSS and JS files in the templates facilitates the creation of engaging layouts with dynamic content. However, the use of ordinary PHP code in views is not restricted.
Eloquent ORM
The Eloquent ORM tool allows web developers to interface with databases without using SQL. Instead, they use PHP syntax to query databases. Eloquent from Laravel is one of the fastest ORM tools used in PHP frameworks.
MVC architecture
Web developers who prefer not to utilize the SQL programming language can use the Eloquent ORM tool to interact with databases. Instead, they use PHP syntax to query databases. Eloquent, from Laravel, is one of the finest ORM tools used in PHP frameworks.
Symfony Overview
The Symfony framework provides web designers with a powerful collection of tools for building robust, complex web apps with standardized or customized features. Here are some of the reasons why many web developers use Symfony.
Bundles
A bundle is a collection of files that have been organized in a specified manner. Web developers can reuse and alter bundles to create various apps. Bundles help software developers save development costs and expedite the overall development process.
MVC architecture pattern
The MVC architecture makes it easier to construct well-structured web applications, discrete models for presenting data to users, and a framework for managing programme execution. In Symfony, the user interface and business logic may be divided into different layers, which improves the app's maintainability.
Unit testing
It is significantly simpler to manage an app's code and perform unit testing because of Symfony's reusable bundles, lack of rigid dependencies, and ability to establish one's design patterns. Symfony makes use of the standalone PHPUnit package to automate unit testing and reduce repetitive tasks for web developers.
Laravel 
Pros
It constantly has the latest PHP features available.
It allows app API integration as well as the most popular email services.
Furthermore, it is backwards compatible with third-party systems and libraries.
Cons
Some Laravel-built applications may be heftier in order to load faster on mobile.
Because updates are incompatible, the code may fail if you upgrade Laravel to a newer version.
Symfony
Pros
A large number of developers use Symfony on a regular basis. It has one of the most populous communities on the market.
Symfony is a great pick presently as it is utilized by well-known systems such as Drupal, Magento, and eZ Publish.
Cons
At first, the learning curve for Symfony may be stiffer than for other PHP frameworks.
Because it is dependent on other technologies, there are no origin elements, which may cause some applications to load more slowly.
Conclusion
Front-end development frameworks are becoming increasingly popular. This blog post reviewed the most popular frameworks in 2022: React.js, Vue.js, Angular, jQuery, Ember.js, Backbone.js, and Svelte. Each of these frameworks has unique advantages and use cases. Others are better suited for large-scale and corporate-level projects, while others are better suited for smaller projects. Everything is dependent on the requirements and specifications of your project.
0 notes
fuertedevelopers-stuff · 4 years ago
Text
Pros and Cons of Choosing Laravel For You PHP Web Development
Tumblr media
Laravel is one of the most popular PHP frameworks. It is built on the Model-View-Controller (MVC) model. It's a free, open-source framework that debuted in 2011. The most recent version was released on March 3rd, 2020, and it is version 7.0.
Laravel is a PHP server-side programming language that allows for quick creation and scalability. It enables programmers to concentrate on the most important aspects of their work.
Among all PHP frameworks, Laravel holds about a quarter of the market share. Phalcon, the nearest competitor, has a 17 percent market share.
The finest results for Laravel web apps will come from a knowledgeable Laravel development service.
What is the Laravel framework?
It's challenging to describe the Laravel framework in such a way that it's understood correctly not only by a technical expert but also by someone who isn't tech knowledgeable.
We can go into great detail and use phrases and figures to sugarcoat our content, but this will not make it more valuable to readers. Instead, our goal is to explain the Laravel framework to you in plain English and to address the question of why you should use it when you need to develop a web application rapidly.
Laravel is a PHP framework built on the MVC (Model-View-Controller) paradigm.
The Laravel philosophy is based on the idea that development should be as easy and pleasurable as using a high-quality application. To this purpose, the Laravel framework includes a number of developer-friendly features that allow specialists to concentrate on the essentials rather than having to write code from scratch.
Laravel assists in the development of applications employing components from a variety of other frameworks, such as Ruby on Rails, CodeIgniter, Yii, and Symfony. If you need to cut your app development time in half, Laravel is the way to go. Everything you make with it is really easy to understand and use.
In terms of quality and functionality, Laravel is one of the most accessible and best frameworks. It is not employed in the development of banking systems or corporate social networks. However, if you're creating a general-purpose website, this will suffice.
Laravel programming is popular among developers all over the world because of its ease of use and minimal weight. Here's a fact to assist you to comprehend what we're talking about:
Laravel has been used to create over 200,000 websites.
And why PHP developers adore Laravel is described here.
Why choose the Laravel framework?
Let's begin with a reality that is rarely considered. Many programmers market their skills within the technology stack in which they excel. Few highly experienced professionals will confess that the programming language they have mastered is difficult or too complex. Nonetheless, every programming language and software solution has advantages and disadvantages. Although there is no such thing as an ideal person, some people do succeed over others. We're discussing Laravel.
Front-end developers working with JavaScript frequently utilize Node.js to avoid using other technologies in their projects.
Ruby on Rails adheres to the same concepts as Laravel in terms of code brevity and speed.
Laravel did not exist when it was required. PHP developers, the majority of whom are back-end developers, have been waiting for such a solution for a long time. Laravel's popularity has risen steadily in recent years and is expected to continue.
Why did you choose Laravel programming over other options?
There is no one-size-fits-all argument for or against Laravel. It is highly dependent on the technical expertise involved in the project. It is preferable to work with professional architects when using Laravel. As highly qualified experts, they are expected to operate more confidently and produce greater outcomes.
When to choose the Laravel framework?
Laravel is ideal for when you need to think outside the box in order to come up with solutions that will help you in the future. When it comes to online media, there are ready-made solutions for e-commerce (e.g. WooCommerce, Shopify, Magento) and blogging (e.g. WordPress, Shopify, Magento) (WordPress). All of these solutions appear to be ideal at first glance because of the non-standard features they give, but in the long run, they are nothing more than technical debt. It takes a lot of time and effort to customize or upgrade them compared to Laravel.
When no prepackaged internal apps or CMS are required, the Laravel framework is the ideal choice.
In the future, this framework can be used to develop scalable and integrated systems.
Laravel is beneficial to developers and stakeholders. The code's conciseness expedites the development process and streamlines project support, which benefits budgeting.
Our team is heavily populated by Laravel engineers. Their expertise, together with the new solutions they create, allows us to offer the most cutting-edge solutions at the best possible price to our consumers.
The following are examples of Laravel services:
Laravel is a PHP framework that allows you to create websites.
Development of Laravel APIs
Admin Development in Laravel;
Other things include Laravel Migration.
Laravel team relocation; hybrid Laravel team; dedicated Laravel team
We approach each customer's needs on a unique basis. This enables us to provide collaboration solutions that are appropriate for both the client's business and our team.
Strict NDA conditions, control over the team and work process, availability at any time when needed, and continuous and transparent communication are some of the primary benefits of working with our team.
Click here right now to discover more about the advantages of working with us and to look over the CVs of our top Laravel developers to get a sense of their level of competence.
Business benefits of the Laravel framework
The key business benefits of Laravel might be clear to professionals, yet for what reason should entrepreneurs favor this system over some other CMS? There are sure business esteems the Laravel PHP structure conveys.
First and Incidentally, it was only a joke.
Presently how about foremost, how about we notice basically the assessment numerous engineers accept to be valid. It expresses that all systems are a generally impractical notion and simultaneously the Laravel structure is a poorly conceived notion, yet less significantly we continue on to the business advantages of Laravel:
It helps keep things clear and compact;
A little expectation to absorb information;
Persuasive ORM (Object-Relational Mapper) speeding up;
Adaptability and human-accommodating sentence structure in the vast majority of the parts;
Wide extension; it is not difficult to track down topic specialists;
Upheld by a colossal local area on GitHub;
Mix with the router interface.
This load of highlights is efficient, bringing about spending cuts.
Another business benefit of Laravel is the profit from the venture. The Laravel PHP structure empowers designers to rapidly model and fabricate versatile applications, furnishing you with inner devices customized to explicit group's necessities, in this manner saving your corporate spending plan. Whenever you need Laravel development you can contact a web development company directly.
Pros and Cons of Laravel
Presently the time has come to discover what benefits Laravel has and why you ought to pick this system if you will probably streamline or accelerate the advancement interaction while keeping a significant degree of use quality and security.
We will likewise think about an additional portion of Laravel's deficiencies, which ought not to be overlooked.
TOP 11 of the most extraordinary benefits of the Laravel structure
1. The inherent access control framework
With Laravel, you have command over client verification and job-based admittance control.
Every one of the important alternatives is inherent. Thus, client validation rationale and access control are modern and hence safer.
Laravel was made as a further developed option in contrast to the current Codelgniter structure. Codelgniter needed numerous helpful highlights like underlying help for the validation framework. Laravel accompanies a verification framework consisting of every important advance, like Login, Registration, and Password Reset, that is executed with a solitary order.
Advantages for you:
Simple preparing of information access demands;
The capacity to dismiss unapproved demands;
Security access control.
2. MVC engineering
MVC engineering makes Laravel the best PHP climate for web application advancement. It gives further developed execution, thorough documentation, and many implicit highlights more than other PHP conditions.
3. The improved on email reconciliation framework
Email mix work isn't just attractive yet additionally effectively obligatory. With Laravel, you can utilize drivers for Mandrill, Amazon SES, Sendmail, and others. Messages can be sent both in the cloud and through nearby administrations.
Advantages for you:
Warning of clients through messages;
Sending messages or messages by means of well-known channels (counting Slack and SMS);
The consistent joining of email warning frameworks.
4. Store reconciliation
Laravel gives reserving support through worked-in drivers, guaranteeing that articles are put away on the inward record framework. As far as possible might differ. With reserving, the presentation of any framework can be improved.
Advantages for you:
Elite backend;
Rapid of assignment execution;
Progressed memory of the executives.
5. Simple exception handling
The Laravel system has an implicit component for taking care of special cases and settling arrangement blunders. Furthermore, as you probably are aware, effectively settled special cases lead to an intelligent interface that makes the product arrangement easier to use.
Advantages for you:
Your clients will be informed of any exemptions on schedule;
Expanded consumer loyalty through a more easy-to-use and direct interface.
6. Worked on specialized weaknesses and security the executives
Laravel assists designers with revising security weaknesses and specialized issues before they convey.
Laravel additionally gives clients an undeniable degree of safety at all levels. For instance, passwords are put away in a data set scrambled as opposed to in a content structure. This maintains a strategic distance from misrepresentation when clients access paid assets or whatever else that is similarly essential to your business.
Advantages for you:
Investigating security issues;
More dependable execution;
Quicker investigating.
Conclusion
Laravel isn't the least demanding system for a fledgling engineer to work with, however, it is certainly most appropriate for novices, on account of the cutting edge and incredible advancement rehearses it gives. Obviously, there is a portion of its highlights that make it hard for newbies to dominate. In any case, this issue can likewise be settled.
When working with Laravel, more consideration and alert will be required. The primary concern is to ensure that the engineers are qualified and realize how to adjust the improvement of new highlights with the specialized obligations. Yet, generally speaking, these are trifles against the foundation of the multitude of benefits that Laravel web advancement gives to developers and partners.
In any case, the force of its "benefits" wins, particularly when you consider the basic standards and incredible highlights intrinsic to this structure.
Source : https://fuerte-developers.medium.com/pros-and-cons-of-choosing-laravel-for-you-php-web-development-c37a60598ffc
0 notes
wesleybates · 5 years ago
Text
Top 10 PHP Frameworks for Web Development
Tumblr media
Do you want to build a website using PHP but wondering which framework would be most desirable for you? If yes, then your search ends here. As here in this article, I will be listing down the top 10 PHP frameworks for developing excellent web apps.
PHP is one of the most extensively used languages for web development. According to a web development stat, about 80% of all websites are built using PHP as of 2020.
However, over time, the website's complexity has increased extensively. Now, developers are required to write thousands of lines of code, which consumes a lot of time. And that's where PHP frameworks come into action.
A framework effectively reduces the loads from the developers' end while coding for any project. It provides a systematic and reusable code that will help to complete your project efficiently. So, without wasting any more time, let's get started!
Why Is There a Need to Use the PHP Framework?
A PHP framework provides a basic structure to speed up the web development process. The responsiveness of websites built using the PHP framework helps businesses meet their performance requirements.
Factors That Make PHP Frameworks Best for Backend Development:
Speed
Cross-platform
Greater Database Diversity
Improved Stability
Supports CMS
Top 10 PHP frameworks to Keep an Eye on
PHP frameworks, however, come in various shapes and sizes. Here is a list of the best PHP frameworks based on popularity and the ability to facilitate web development.
1. Laravel
Laravel is the most popular PHP framework with an expressive, elegant syntax. It can handle complicated web applications safely and at a much faster speed than other frameworks.
The framework also has a robust templating engine that simplifies the web development process by easing common tasks such as session, caching, routing, and authentication.
Laravel comes up with plenty of functionalities that make rapid application development a reality. Artisan command-line interface provides many supporting commands when developing the application. Moreover, it comprises a vast ecosystem with a fast hosting and distribution platform.
2. Symfony
The Symfony Framework was launched back in the year 2005, and due to its many years of existence, Symfony has become a reliable framework for web applications. It is also known as a comprehensive PHP MVC framework that is adhered to all PHP standards.
The framework is a comprehensive PHP framework and is the only framework that fully complies with the standards of PHP and the web.
Symfony components extensively are used by well-known CMS like Drupal, OroCram, and PHP Bulletin Board. When it comes to large-scale enterprise assignments, Symfony is the right choice among PHP frameworks.
3. Zend Framework
Zend is an object-oriented, MVC-based framework, and uses features such as interfaces and inheritance that make it expandable. It allows loading only those components and functions that you want as individual libraries.
It is built on agile functionality, that helps you deliver high-quality applications to enterprises. The Zend Framework is highly customizable and follows all the PHP practices.
Thanks to the object-oriented nature of the framework, you should be able to reuse a lot of code you've written. Isn't that great? Moreover, it is quite easy to integrate the platform with external libraries so that its functionality can be enhanced even further.
4. CodeIgniter
CodeIgniter is a simple yet powerful framework for web development. This PHP framework can be installed without any hassle and need basic user configuration. Besides, it works well on most shared hosting platforms.
It provides a simple toolkit and several prebuilt modules for building full-featured web applications. Another strength of this structure is its speed and lightness. It runs faster with database functions than other frameworks.
It will be a great idea, to begin with, CodeIgniter as it is a well-documented framework that is best for a web development project. It uses the MVC (model-view-controller) approach that separates the business logic and presentation part within the code.
CodeIgniter is also getting more attention than Laravel because of framework functionality and coding style is slightly better.
5. CakePHP
CakePHP is one of the most popular frameworks, and it has still maintained its popularity because it has evolved and persists over time. It is an independent, open-source, rapid development framework.
It has offered new functionalities with each new version to keep the strong user base. CakePHP has an active developer community that brings excellent value to the project.
Also, using CakePHP means that the core of your application has been well tested and continuously improved. The current version of CakePHP has features like improved modularity and increased ability.
CakePHP is the right choice for business application projects as it provides high-end security with features such as SQL injection prevention, cross-site request forgery protection and cross-site scripting protection among many others.
6. FuelPHP
FuelPHP is a flexible PHP framework that supports the MVC as well as the HMVC architecture. And this allows apps to display more than one page at a time. This framework is being updated over time and is therefore expected to see further improvements in 2020.
The framework has significant features such as HMVC that consume less time and memory. The HMVC implementations facilitate you to create web applications with varied functionalities and complexities.
The FuelPHP framework's primary focus is on security concerns. For this reason, it uses URI filtering along with output encoding to deal with safety measures. In short, FuelPHP is an ideal fit for creating web-based solutions of different sizes and complexities.
7. Yii 2
Yii which stands for Yes, it is! It is a component-based PHP framework for high-performance, simple and fast-developing modern web applications. Yii is a standard PHP framework for web development. For this reason, it can be used to develop all types of web applications using PHP.
Because of its component-based architecture and caching support, Yii2 is best for developing extensive applications such as forums, content management systems, portals, e-commerce projects, and more.
Yii is one of the oldest PHP frameworks, and the latest version is released as Yii 2 to boost popularity. Yii 2 is genuinely object-oriented and is based on the DRY (do not repeat yourself) coding concept.
The framework comes with many robust features such as the loading technique, which makes it faster than other frameworks. Moreover, it is the best fit for large-scale web development as it can be integrated with AJAX and JQuery features. Additionally, it has a secure class code generator called Gii that facilitates object-oriented programming and rapid prototyping.
8. Phalcon
Phalcon is a high-performance PHP framework whose source code is written in C, so basically it is a C extension of PHP. In practical terms, it is one of those fastest frameworks we have enjoyed using.
The outstanding features and architecture make this framework fast. Furthermore, it is also easy to install and is suitable for building high-configuration web applications that conform to enterprise-grade standards. That's because it makes use of only limited resources.
The significant features of Phalcon have been frequently revised since 2012, and there has seen a substantial upgrade in current releases such as Asset Management, Universal Autoloader, Security Features, and Caching.
Besides, Phalcon is very light on resources, and also it makes use of the MVC architecture. Furthermore, it is unique in that there are almost no files in the framework after you install it. You can only add modules and libraries whenever you want them.    
9. Slim
If you want to create simple yet powerful web applications, then Slim may be the ideal option for you. Slim is a micro-framework that helps you build robust but straightforward web applications and APIs. The framework is best for developing small applications that do not need the full-stack framework features. Even though Slim is minimal, it is full of rich features such as URL routing, session and cookie encryption, and support for 'Flash' messages in HTTP requests.
What makes it most user-friendly is its active user base, regular maintenance, and upgrades. Slim is the perfect fit for small web applications where a full-stack PHP framework is not required.
10. PHPixie
The PHPixie was launched in the year 2012 and has steadily become one of the most well-known full-stack PHP frameworks while preserving its high performance. It was developed for simple read-only websites that focus on performance. It implements an HMVC design pattern similar to that of FuelPHP and is built using independent elements that can also be used without frameworks.
PHPixie segments bluster full unit test coverage. It has some distinctive features such as ORM, input validation, and authentication capabilities. The PHPixie community is amiable and helpful; you can expect to get an answer to your question within a few minutes. Connect with the experts of Web Development in Salt Lake City, UT. They will be happy to serve as your partners as you take the first step on the road to success.
0 notes
douglassmiith · 5 years ago
Text
Smashing Podcast Episode 17 With Angie Byron: Whats New In Drupal 9?
In this episode of the Smashing Podcast, we’re taking a look at what’s new in Drupal 9. What are the major upcoming changes to this nearly 20-year-old open-source project? Drew McLellan talks to Drupal core committer Angie Byron to find out.
In this episode of the Smashing Podcast, we’re taking a look at what’s new in Drupal 9. What are the major upcoming changes to this nearly 20-year-old open-source project? Drew McLellan talks to Drupal core committer Angie Byron to find out.
Show Notes
Weekly Update
Transcript
Drew McLellan: She is Senior Director of Product and Community Development at Acquia, a company you’ll know from their software and services built around the Drupal ecosystem. She’s been a Drupal core maintainer for nearly 12 years, as well as being an author for O’Reilly and an open-source evangelist who just lives and breathes Drupal. Joining us from near Vancouver, British Columbia. She’s passionate about getting new people, especially women into open source. We know she’s a longstanding Drupal expert, but did you know she once taught a dolphin to make marmalade? My smashing friends, please welcome Angie Byron.
Drew: Hi Angie. How are you?
Angie Byron: I’m smashing, Drew. How are you?
Drew: I’m very good. Thank you. I wanted to talk to you today about something we’ve certainly not covered on the podcast before. And I’ve rarely actually touched on Smashing Magazine articles over the years, despite it being a hugely popular open-source project with a massive community. And that of course is Drupal. Now, I’ve deliberately not described what Drupal is in my introduction because I feel like there could be a whole generation of web designers and developers who’ve never really come across it. And there are those who might think, that we know what Drupal is all about, but that could be based off of a view formed 10, 15, 20 years ago almost. What is Drupal as it stands today?
Angie: We call Drupal a content management framework. And what that means is it’s a generalized framework that you can use to make websites, you can use it to make mobile apps, you can use it to make just about anything you can imagine. But it’s very content structured, content based central system. It’s used to power one in 35 websites in the world. It’s out there and people use it. It’s been used a lot for government websites, media websites, just about everything that you can imagine. It’s even been used to power say, the princess cruise ship schedules and things like that. It’s used in a lot of different capacities.
Drew: How does it differ from other content management systems that people might have used in the past, such as WordPress or static publishing tools like Hugo and Jekyll?
Angie: I like to say that if you know what you want is a blog or another thing that WordPress is really good at, WordPress is a great choice. Similarly, if you know that you need some highly customized software that can only work with one particular backend system or things like that, a custom CMF framework like Symfony or something might be a better choice. Drupal is great because it spans both. It has a user interface, so you can create content just by clicking and filling out forms. And you can extend it with its API, but it’s built to actually allow you to do a tremendously amount of powerful stuff just by being in your browser, clicking around forms and buttons.
Angie: I use it a lot because I often have customers who don’t really know what they want. And so, they think that they want to blog and then it turns out that, “Oh, but we also want an ecommerce component with this blog. Oh, and we also need like a forum with five star ratings and reviews and these kinds of things.” And with Drupal, that’s just a check boxes to start adding new functionality like that versus with WordPress, it might mean, putting a couple of different solutions together that you then have to integrate. And with custom code, that’s obviously custom codes what’s going to be a lot of work for you.
Angie: Drupal has a whole library of contributed modules. There are something like 10,000 to 12,000 of these add-on modules that can do additional features. And then out of the box, especially if you haven’t used Drupal in 20 years, Drupal is actually a really full featured CMS these days as well, where it shifts with media layout support, all kinds of different things.
Drew: You briefly mentioned some projects before that are using Drupal. What is the ideal project where somebody would reach for it over something else? Where does Drupal really excel?
Angie: I would say that Drupal is great if you have, let’s say a website or a web presence where there’s a lot of different sub-components and you all want them to maintain a consistent look and feel. Universities use it a lot, for example, because they want to have the consistent university branding across all of the different sub sites. However, they also want to give individual departments freedom to set up their own, say content types. So, say the art department might want to track artists and musicians and things like that. And tying those to works that they’ve produced versus the IT department might want to be contracting like these are the different people we do IT internships for, and these are the different people that work for them.
Angie: And Drupal allows you to model all of that content together and create a dynamic views of it and forms that you can just click together out of the box.
Drew: One of the reasons I wanted to chat to you about Drupal at this point in time is that there’s a major release around the corner. Isn’t there?
Angie: There is. Next, well, I don’t know when this will go out, but it’s June 3rd. So, currently a week from today.
Drew: And that’s Drupal 9.
Angie: That’s correct.
Drew: Now, a big new version of a mature software product always brings with it, big new features. Doesn’t it? What are the headline changes that someone would really notice about Drupal 9?
Angie: If you’re using Drupal 8 currently, the big news for you is that Drupal 9 is really not much has changed. And that’s a big deal for our community because in the past, when you want to move from say six to seven or seven to eight, it was a, I wouldn’t call it a harrowing process, but you could call it something like that where we used to have a philosophy that we’re going to break your code and not your data. We would always be on the cutting edge of the latest things and any major version upgrade would come with it. The needs, support modules and the underlying code with Drupal, and you’d always get the latest, greatest stuff, but it would come at an expensive, costly upgrade process.
Angie: From Drupal 8 to nine, what we’ve been doing is building Drupal 9 in Drupal 8 effectively. And so, Drupal 8, the whole way along has gotten the new APIs, the new features, all these kinds of things in a backwards compatible way. What Drupal 9 is going to do is cut out the backwards compatible stuff and put us all on the latest version of say, Symfony, PHP, MySQL all the newest stuff there so that we have security support for those things for the next three to five years to come. From eight to nine, not much, if you last looked at Drupal though from say Drupal 7, a tremendous amount has changed, because you not only get the innovations that have into Drupal 8, things like mobile experience, out of the box configuration, management, the views module, which allows you to dynamically assemble lists of things available out of the box.
Angie: But you also get the features that have come within the Drupal 8 cycles. Those are things like a media library, workflow management, layout building capabilities, better automated testing and all kinds of other things.
Drew: One aspect I am particularly interested in because there’s something that’s either lacking or patched on messily to many content management systems, is this concept of structured data. What do we mean when we say structured content? And what does Drupal 9 bring us in that regard?
Angie: Structured content is a really fascinating concept and it’s been built into Drupal from the early days. In a CMS like WordPress or Squarespace, something like that, you would say, I want to download the photo gallery feature and I’m going to enable the photo gallery feature, I’m going to get the photo gallery as the person who created it, envisioned it. In Drupal, you go at it a different way. What you do is you create your photo gallery feature from base components. And what I mean by that is you will create a content type called photo. You will add an image field to it for the picture. You will add maybe a caption field, you’ll maybe have attributes to the image and all these other tenets, number fields for the attributes, or sorry for the heightened width text fields for the old attributes, there’s many different kinds of things you can do.
Angie: And then you’ll create a view of photos and you can choose if that photo view is, say it lays everything out in a six by nine grid, or maybe it does it in two columns or whatever, and you can have full customizability over how, and in what way it’s produced. Structured content is interesting because not only can you make your website look like how you want it, but because the content is structured in a generic way through entities and fields, you can also say, for example, create a decoupled react application that talks to Drupal as a backend.
Angie: And have full control over how that’s done, and then take the same backend, make it your website, the same backend make it say a kiosk in the mall where people can select different items. A lot of people make use of Drupal as this general content store that can then be talked to by anything. And the way we can do that is because all the data that the CMS manages is abstracted. It’s not built into the presentation layer. If you use a Wiziwig editor to answer in your content, you’re going to get the images embedded in the body field, and that’s never any good if you want to then take part that body field and display it in a sidebar block.
Angie: Drupal by structuring everything into discrete fields and entities on the backend, makes it so the concept can be mixed and matched really easy.
Drew: That means you could use a Drupal as a headless CMS essentially?
Angie: Yeah.
Drew: That’s pretty much what you’re describing there, isn’t it?
Angie: Yes, absolutely.
Drew: If you’re working in the Jamstack say, or you’ve got a single page app, or you’re building mobile apps or have other less conventional ways of consuming content, you could use Drupal as a content management system just to literally manage the content and then to expose it to those other things via an API or something like JSON.
Angie: Exactly. Yep. JSON:API support is built in and this comes with its… everything about Drupal is modular. If you don’t want the theme layer, you don’t need to have it. Theme layer is what we call like the HTML presentation layer that’s generally generated by PHP. But you can throw that out and say, “I just want JSON:API output of all of my content.” You also get certain features that are built into Drupal built into your app. For example, Drupal has a really robust users, permissions and roles system. You can set up different roles with discrete permissions to do different things on the site or see different pages on the site even.
Angie: And those things will be respected by Drupal and will be enforced by Drupal so that by the time someone actually loads the application at a certain URL, you know that the person who is there is meant to have access to it. It’s really interesting. It’s a cool product to work on because, on the one end, it’s a product made by developers for developers. We started building it because we wanted an easier way to… We didn’t want to have to get called by somebody to change the copyright field at the bottom of the page every year or whatever.
Angie: We just make a box so that they can fill it out. But it’s also a tool made for a carving out a whole new area of people, which is like site builders. They’re like technical, but not necessarily know how to write all the backend code, but they know for example, how to click together these different concepts in order to make these really powerful sites. And so, at any point, when you’re developing a feature such as a media library, you have to not only think about how do we make this really easy to use for a marketer or a content author persona, who’s going to use it every day, but also how do we make it infinitely extensible from the developer side, how do we make sure we have automated tests that cover everything?
Angie: How do we make sure that the output is accessible so it can be translated by screen readers? And all these kinds of considerations. So, Drupal’s really interesting and kind of stands out in its field in that a lot of times you have to pick between a really easy to use front end that doesn’t have decoupled content or a very technical decoupled content thing that you need a fleet of JavaScript developers to work on. And Drupal sits in a middle and a sweet spot where it can be both.
Drew: Because Drupal is essentially traditionally a themed CMS, isn’t it? If you’re looking to build a site, a more traditional site where you’re using a theme to output HTML pages, CSS, a nice responsive web design is going serve your mobile devices, desktop devices, and so on. What templating capabilities would you be looking at in Drupal? What have you got available to use?
Angie: Drupal uses a Symfony library called Twig, and it’s effectively HTML templates with little special characters to do branching, basic branching logic, print variables, that kind of thing. That’s a default output that Drupal does. You have a callback that generates the output and that’s stored into an array. The array is passed to whichever output layer. It could be JSON:API, as I mentioned before, and just put big drop of JSON, or it could be passed to the theme layer, which will then translate those arrays into, this is the header, this is that and it’ll print it into the CSS and HTML variables like that. I don’t know if that answered your question though. Sorry.
Drew: No, you did.
Angie: Okay, great.
Drew: I think last time I used Drupal, it was using maybe Smarty. Is that right?
Angie: Oh, Smarty, yeah. Well, that’s like Drupal 6 days.
Drew: Yeah, it’s Drupal 6 or Drupal 5 even.
Angie: Yeah. Oh, that’s fantastic. Twig is a similar concept to Smarty, but the nice thing about Twig is it better enforces the separation between your business logic and your presentation logic. Twig is not really, you can do it, but it’s not set up as a best practice for you to sit there and start putting a whole bunch of functions and objects and classes and all that stuff in your actual HTML files. Your HTML files, more or less stay HTML files with just the little special placeholders in them. And then your business logical happens behind the scenes in a module or in a pre-process function or something like that.
Drew: That separation actually makes things a little bit more straightforward and safer for developers who aren’t so used to working in the backend world maybe be even more comfortable with doing front end development, but a lot of the hard logic is separated from the HTML and CSS?
Angie: That’s right. And the other thing that you get as a benefit out of that is Twig is really good about auto XSS vulnerability escaping. A common thing that can happen when you’re writing your own theme from scratch is you start printing variables directly. And then someone creates a username like ‘Little Bobby Tables or whatever, that kind of thing and messes your whole site up. Twig is great because it has auto escaping of variables like that. As long as you’re sticking to the APIs and you’re using them directly, you won’t accidentally introduce either a JavaScript or SQL vulnerability in your site just by trying to make your theme look nice.
Drew: And in terms of the content authoring experience, I know a lot of people in the web design industry have seen some of their business go away, particularly at the lower end to these extremely user friendly services, things like Squarespace. How does Drupal compete with that authoring experience that people get from these very polished and sleek services?
Angie: I will say we’ve come a long way. We’re definitely not at a Squarespace level. I’ll just say that flat out. Squarespace has the advantage where they are not building structured content in that round or they’re building pages. And so, the pages are self contained and they can have full control over the HTML in there and use nice front end tools to get at them. Drupal by nature being structured content, I mentioned the benefits are that the content could be mixed and matched. It’s easy to output the content of variety of different fashions. But the disadvantage is that, our front end tools are not, they respect that structured content nature. So, you don’t see like a take over the page in place editing experience with Drupal as it stands.
Angie: However, I will say that there’s a bunch of people doing a lot of work. And so, core itself shifts with in place editing, which is the ability to click on a field and edit it right in place without having to go to the backend. There’s also the settings tray, which if you want to make a quick configuration change to say the site name or the location of a block or something like that, that’s built in there. The layout builder has some drag and drop capabilities in there as well. We’ve really made a concerted effort to improve the content authoring experience in Drupal. We did user testing back in, we started in 2008, Drupal is an old project that you mentioned it’s been around awhile, but we started in 2008 and 2012, 2015.
Angie: We keep doing these every few years, we sit down and the University of Minnesota has helped us with this. We sit down and we go to a real life usability lab with one way glass and eye tracking the whole thing. And through that process really saw that while the backend of Drupal is amazing and people love it because it’s flexible, it’s well documented, it’s architected amazingly, all these kinds of things. People really did struggle with the front end. I made it my personal mission. I know that Dree has made it his personal mission, the project lead, as well as the community as a whole to really bring that quality of Drupal to the front end as well.
Angie: And so, we’ve added a whole bunch of capabilities since then, like a backend admin theme. Some of these content author friendly features like workflows, media, that kind of stuff, and putting it first and foremost in people’s hands so that they don’t have to hand write HTML tags or this kind of thing, which was like the case many years ago.
Drew: One of the things that often attracts developers to simple publishing systems rather than the full stack CMSs is this concept of having everything managed in a gate repo. So, the changes to a life site can be atomically deployed and that gate repo is a single source of truth for the project. You don’t have multiple copies of a database representing different versions of a system gets around this issue of developing a new site feature in one environment, and then trying to figure out how to build that up and deploy it to the live environment, which goals may have changed since they started working on the feature. Does Drupal offer any way to manage that particularly difficult process?
Angie: Yes, starting with Drupal 7, in fact, we had a concept called the features module and what features were, where the ability to combine both module functionality as well as configuration changes and deploy those as one chunk of logical code between environments. In Drupal 8 and nine, we’ve improved upon that ability by building it right into the core system. There’s something called the configuration management system. And what it does is every bit of configuration that you do. For example, what is my site name called, what’s the email template that I’m making, these kinds of things. All get stored into a centralized system and that system has everything else and Drupal is infinitely flexible.
Angie: It can be exported as YAML files, for example, that can just be migrated back and forth between environments. And then it’s really easy to also do a get, diff and find out, “Oh, okay. There’s been changes between the last time that I saw that and I can look them over and make sure they look okay, great import them in.” And there’s both gooey tools for doing that as well as command line tools for doing that because again, Drupal’s always trying to serve both of those audiences.
Drew: There’s always this great opportunity when you make a new major version of a mature software project to deprecate and remove pieces that have had their day maybe features that never caught on in the way that you hope they would and to resolve tech debt and that sort of thing. What changes have been made in Drupal 9 in terms of cleaning house?
Angie: Yeah, we did take the major version bump as an opportunity to really clean house. What we’ve been doing throughout the Drupal 8 cycle is envisioning new ways of doing things. Better, clearer APIs, for example, managing entities or configuration or that kind of thing, or like a more modern JavaScript library for handling drag and drop or that kind of stuff. And during Drupal 8, what we did is we left all the old stuff in place because we didn’t want to break anyone’s site between 2015 and today. But Drupal 9 gave us the opportunity to say, “Okay, as we went along the way, we just marked all these things as like at deprecated.”
Angie: And so, we could find them later and be like, “That’s the stuff we need to clean up.” And so, Drupal 9 went through wholesale and got rid of all of the deprecated functionality. And then there’s a Drupal 8.9 version that’s coming out at the same time as Drupal 9, which has all the BC layers in there, but it’s fully compatible with Drupal 9 to give people a release to move everything up to where it needs to be. But yeah, among the things we did was we updated to the latest versions of all of our dependencies. We have a bunch of JavaScript dependency, some PHP dependencies.
Angie: Those are all on the latest sort of LTS releases. So, we stay on that for a long time. We also took the opportunity to raise the system requirements, which I know people are like, “Oh my God, why my Eskimo 5.7.” But the advantage is that a lot of these older versions of PHP, particularly at PHP 5, there has still hanging around, haven’t been security supported in ages. And so, we’re trying to make sure that our users that are on Drupal 9 are staying secure, not only today, but going forward into the future. We’ve updated those and then we’ve gotten rid of any deprecated APIs that we’ve created along the way. When you start a site with Drupal 9, you’re starting with a fresh slate, no deprecated code on the latest stuff and should serve you for many years to come.
Drew: That sounds like quite a complex development workflow. The fact that you’ve been working on a Drupal 9 compatible version of Drupal 8 and working on Drupal 9 at the same time, getting them ready to release together. How did that work in practice?
Angie: Yeah, it’s worked well because we effectively write Drupal 9 in Drupal 8 over the past five years, starting at Drupal 8, we use a concept called semantic versioning. In the past, when we released Drupal 7, for example, we just left it alone more or less, except for a few bug fixes and maybe keeping it up-to date with the latest versions of PHP that come out and that sort of thing. With Drupal 8, we made the shift to semantic versioning. And what that means is that every six months, we have what’s called a minor release of Drupal and that’d be like an 8.1 and 8.2, as opposed to an 8.1.6 or something, which would just be a bug fix release.
Angie: And every time we do one of these minor releases, we have the opportunity to add new APIs, to add new features and to change the way that Drupal works with the caveat that we always need to leave a backwards compatibility shim in there so that existing sites don’t stop working. All the way along, we’ve been improving Drupal 8 since its initial release. And so, we’ve added features, we’ve deprecated APIs, that kind of thing. So, when we get to Drupal 9, it was a lot of work. I don’t want to mitigate the word there or deprecate that word that the team has been doing because there’s like this whole burn-down chart of all the deprecated things that we needed to get through and all of these contributed modules that needed to update their stuff too.
Angie: But the effort was much lower than prepping for any other major release, because it really was just honing in on those deprecated things, the libraries that are no longer supported that we need to find alternatives for and making sure we’re on the latest versions of stuff and all this stuff works with it. And so, that’s the Delta between 8.9 and nine will be, I think it’s something like 12% reduction in code or something like that is what we managed to do, but otherwise they’re identical because they’re all using the same stuff.
Drew: Wow. It’s just like Drupal 8, but the shackles have come off.
Angie: Yes. That’s a great… I’m going to quote you on that. That’s great, I love it. Have you thought about joining our marketing agency team? No, I’m just kidding.
Drew: Historically, and Drupal is certainly not alone in this, but there has historically been quite a lot of pain in moving sites from old major versions to newer major versions of Drupal. It sounds like maybe with process of developing a Drupal 9 inside Drupal 8, maybe that has been resolved slightly. So, should moving from Drupal 8 to Drupal 9, actually be fairly straightforward?
Angie: That’s right. Yeah. I think there’s basically three scenarios, so one is if you were running Drupal 8 and every time a new minor release of Drupal 8 came out, you upgraded it to a right away and you started making use of the new stuff. Your path is going to be basically nothing like you’ve already been doing all the work and you’re fine. If you moved to Drupal 8 awhile back and you haven’t been keeping up with the BC changes, there is a little bit of work for you. It’s definitely the easiest upgrade in over a decade of our software anyway. And we have a ton of different tools to help you with it. There’s a dashboard that shows all of the contributed modules and what their Drupal 9 situation is, there’s automated tools for going through and checking your code and flagging any deprecated functions that you have.
Angie: And there’s tools for automatically, going up and finding, “Oh, this is the latest version of your module and it’s Drupal 9 ready? You should go download it,” that kind of stuff. From Drupal 8 to 9, I would say that that part’s pretty well covered. If you’re coming from a prior version of Drupal, say Drupal 7 or below to Drupal 9, that does start to look a little bit trickier, like among the changes that we made in Drupal 8, where for example, we moved entirely to object-oriented PHP and we started utilizing design patterns that were found in other software project, which is a really smart thing to do architecturally, but it does mean that if you had a ton of custom code in your old life, that in Drupal 9, you’re going to need to find alternatives for that.
Angie: Acquia is a product and development called Acquia migration accelerator which is aiming to solve that problem where we’re creating like a nice, react to find application, which reads in your old Drupal 7 data creates equivalent Drupal 8 data for you along with all the modules that you’re going to need that mapped to your old Drupal 7 modules where possible to try and expedite that process quite a bit because we want to make sure that everybody who’s on older versions can still make it over to the new world order where everyone’s on the same version and we’re all working together.
Angie: And then in addition, we’ve also extended the Drupal 7… The community like the opensource community of Drupal their end of life in Drupal 7 as of November of next year. Currently, anyway, we need to discuss whether COVID impacts that or not. But there’s a number of different companies and Acquia is one of them that offers extended support for Drupal 7 beyond that, to 2024 at least. And so, that makes it so that people who have an easy upgrade have a year and a half to get it done. People have a less easy upgrade, have potentially like three and a half years to get it done or longer if they need to. And we’re trying really hard to make it possible for everybody to move over and then building tools like Acquia migrate accelerator to help speed up the process.
Drew: I’m intrigued by the sound of this functionality to scan your code and find out if it’s going to be Drupal 9 compatible. Is that essentially a static analysis tool?
Angie: It is. Static analysis has its limitations. We’ve built a little bit… It’s a library called Rector PHP and you can use on any generic PHP code. It’s not specific to Drupal, but we’ve built a wrapper around it called Drupal Rector, which my understanding is that it adds a little bit of extra things where… There’s certain stuff that we know when something’s dynamically loaded up in the argument that it’s looking for might not be present at that wouldn’t be necessarily addressable, when it’s just in static codings reading dollar signs and stuff like that. And so, there’s been a little bit of extra wrappers to look for some of the most common issues that we find there. And the other cool thing I’m sorry, I got those two confused.
Angie: PHP scan is the thing that scans the code. Rector is the thing that can automatically apply changes to code. And so, we’ve been using those in tandem. PHP standard do the static analysis, plus a wrapper for some Drupal specific things to catch some of the dynamically loaded problems. And then rector is a thing that’s used to say, used to be Drupal_set_message of procedural function. And now it’s this arrow Drupal message or whatever it is and it automatically can make those changes for you so that you’re really only honing in on a couple of tricky your API bits that can’t be automated for you, but we have a dashboard on dev.acquia.com that goes through all of the contributed modules.
Angie: And I’m going to get the numbers wrong, but it was something like 50% of projects are either done already for Drupal 9, or they just need like one or two line changes that can be done with this automated tool. And then there’ll be good to go. The two of those tools together in tandem have been excellent. What I’d like to see is when we make API changes going forward in Drupal 9.1 and 9.2. and so on that we actually couple them with a rector room that will automatically fix them in modules going forward, because then we can cut this transition period down even further in future releases.
Drew: That sounds really smart. Is this something that users with Drupal 8 sites currently can start using in preparation for Drupal 9?
Angie: Yep, absolutely. We’ve been recommending people start doing this since beta, which was a couple of months ago. Yeah, there’s a couple of I don’t know if it’s the best to send you links or something like that, but there’s a project on drupal.org called upgrade status and that’s a nice jumping off point. That’s the thing that gets you the dashboard overview, it looks at all your modules tells you a red, yellow, green, whether or not it’s ready for Drupal 9 and can point you off to the tools that either can help upgrade your site for you or help you upgrade your own code in cases where you’ve extended Drupal beyond its normal capabilities.
Drew: So, say somebody listening to this has got a WordPress site, which they’ve built over the years. They’ve got maybe multiple themes and child themes, dozens of add-ons, it’s draining, it’s bursting at the seams, it’s beginning to sweat and they’re looking at Drupal, they’re thinking, “I like the sound of this. This sounds like it’s built for more of the project that I’ve got here.” What would the process of moving a site on something like WordPress over to Drupal look like?
Angie: One of the features of Drupal 8 is the migrate API, which is something we’re making use of an Acquia migrate accelerator as well. And the migrate API is generic. It doesn’t care what you’re moving to or from, we happen to use it to move from Drupal 7 to Drupal 9, but you could also use it to move from WordPress to Drupal or from Drupal to WordPress for that matter. Please don’t but you could. There are a bunch of plugins for the migrate system and one of them does add WordPress specific knowledge to the migrate system. And so, it sets up WordPress as a source, Drupal as a destination, and it moves things over there. That worked for the data of your site, the actual functionality of your site, you’d have to do some research to figure out if you say I was using this plugin and WordPress that maps to this module in Drupal.
Angie: One future plan we have for Acquia migrate accelerator actually is, once we got the seven to nine problem leaked to try and open it up so we can move people from anything to Drupal because it’s the same basic problem where you’re doing a major upgrade from an external system to another external system. There’s no reason we couldn’t theoretically throw in WordPress, Adobe experience manager, Sycor those kinds of things into this as well and work on migration tools for those because yeah, the more on the Drupal boat, the merrier.
Drew: Drupal has been a project for nearly 20 years at this point, it’s obviously got a healthy ecosystem loads of committers, loads of support. It’s got companies built around it. But obviously a project this big has to keep evolving and keep bringing in new blood. Are there any initiatives to bring new developers into the Drupal family?
Angie: There is. There’s a couple of those. I would say the one that I’m the most excited about that is very ambitious and so we didn’t get it done in Drupal 8, but we’re calling it, the admin UI initiative would be probably need to split that up into several smaller initiatives, but effectively it’s an initiative to modernize the JavaScript of Drupal. And that means a number of different things. Number one, we’re using jQuery because that was the hottest thing back in 2006 or whenever we made that decision. And moving it more to like generic ES 6 or I don’t even know, I’m sorry, I’m not a JavaScript person, so I don’t know what there is to list there, but whatever the latest ECMAScript is, we’d be using that.
Angie: But it also means, drilling down… Drupal 8 in particular already went a long way to making Drupal really accessible for decoupled builds. Having a JSON:API output, there’s a distribution called Contenta that is get you up and running on a Drupal site, catered to headless, if that’s what you want. There’s a bunch of stuff in that area, but I would love to do even more. Knowing that that is more or less a best practice now, it’s like, sort of build this decoupled front end to a backend and really honed Drupal for that purpose.
Angie: I think that’s part of the JavaScript modernization. And then the other part is a lot of our admin experience tools are still in that PHP client server model, or like a person who clicks a button, there’s a request to the server or something churns, and then you get output. I would love to bring in more of the dynamic instant feedback, that react view angular, some of those libraries make possible. I would love to get some of that in the actual admin interface, both just so the code interface looks nice, but also because if we could develop a set of components, say react components or something like that.
Angie: All of the Drupal modules that plug into Drupal could also make use of those. And it wouldn’t be like reinventing the wheel every time. I think that’s going to be a major focus for Drupal 9 is modernizing the JavaScript and the whole overall developer experience of Drupal for JavaScript developers. And then in addition to that, we’re also trying to minimize the amount of work that people who are developers and already know Drupal have to do through the automatic updates initiative is another big one that I’m excited about where right now, if you want to update your modules, that’s pretty straightforward, but updating core requires some manual work.
Angie: And we would like to get rid of that so that everybody can stay on the most secure version and that kind of thing. If it hasn’t come across, Drupal’s very concerned about security. We run some major governments in the world. We are running the Grammy’s or whatever. A lot of people depend on Drupal for being rock solid. And so, we spend a lot of time being very concerned about the security of the software, making sure the security team is responsive, not only to core issues, but anything that happens in our contributed module space. We take a lot of care about accessibility. We make sure that any change that goes into core goes through a series of gates and make sure that it’s WK compatible and uses the correct Aria attributes and all that kind of stuff.
Angie: We really have spent a lot of time making sure that things are good. And now I think the next phase of things where he’s going to be opening up all of that effort that we’ve put in to make it more accessible to more people.
Drew: It sounds like Drupal takes longterm support very seriously.
Angie: That’s correct.
Drew: How do you balance having a modern code base, you mentioned updating the style of JavaScript using having something that’s attractive to developers yet still having something that’s stable and isn’t following fads, isn’t bringing in dependencies that are going to quickly go away, that you can rely on and it’s going to be a bit boring and keep running and be supportable?
Angie: That is a fair question. I think a couple of different ways. As I mentioned, Drupal is very modular. One thing that has led to success in the past, so JSON:API is a good example. There was a lot of contention about what format are we going to standardize on for Drupal itself to output. And we settled on JSON:API for a number of reasons. It’s an open protocol. It’s not backed by one particular company, blah, blah, blah. There’s a bunch of stuff. When we did that, we actually prototyped that in contrib first. We created a contributed module, which can iterate very fast and easily.
Angie: And we can even just say, “Oh, that didn’t work out, delete it.” We were able to innovate really fast out in sort of this contributed module space. We started there and saw that, “Hey, this thing has some legs. Like people are actually making use of it. They’re providing really great developer feedback. We’ve got Drupal people on the JSON:API spec writing team, like this is actually really good. Let’s bring that thing that we already know works into core.” And then we did so, but it’s still just a module. Let’s say that, next year XMLRPC comes back from the dead and that becomes the thing that everybody uses.
Angie: It’s still possible that we would just leave the JSON:API module in there. We would get a new XMLRPC module. We would enable that by default, but still leave the old thing in there. And then when Drupal 10 came out, we’d take the old JSON:API module, move it back to contrib and people could still use it. But what shifts in the core software itself would just be following the latest trends. This way we get the best of all worlds because we’re able to innovate quickly. We’re able to make the best decisions possible for what the default Drupal user experience will be and developer experience. But then we’re also able to backtrack on decisions if necessary to do different things instead.
Angie: I think what would be get really tricky would be like, if we wanted to throw out the entire theme system and replace it with angular, for example, that would be hard. It’s really hard to make… All of the modules have to write four different ways that they could do their templates and that kind of stuff. That one, we would need to think through more, but that general approach of figuring out a way to plug into the system, leaving the old way in there as a crutch for the people who still need it. And then when we retire things, we retire them gracefully, so they’re still available to people, but just not part of the core product, I think that’s generally how this goes.
Drew: And I guess it’s that continuing process that’s brought you to this point where you’ve got Drupal 8 with all the backwards compatibility, I’ll call it baggage, baggage that you’re now shedding and moving forward with Drupal 9.
Angie: That’s right. Yep. And we’ll do it again in Drupal 10.
Drew: It sounds like a very important release for Drupal. Is there anything else we should know about it? And when is it landing?
Angie: It lands on June 3rd. You heard it here first, or maybe you didn’t hear it here first. We’re going to be doing some kind of like… It’s a little sad that it’s happening during COVID times because when Drupal 7 and eight came out, for example, were user groups all over the world doing like Drupal parties with cakes and all this kind of stuff. And so, we’re going to try and do a virtual version of that, but it won’t quite be the same. But what’s really cute is people bake little Drupal cupcakes and stuff like that, or showing the Drupal can on the side of a building or these kinds of things. And so, it’s a really creative and innovative community, so I’m sure they’ll figure it out some of the cool stuff.
Angie: But no, in terms of things to cover, I think we covered a lot of it, I think, if you’ve looked at Drupal before and held your nose at it, I would say, please give it another look. We’ve done a lot of work and over the past years to really, really hone in on that user feedback, really hone in on the usability piece, make it much easier for marketers. And also much easier to maintain for developers too. We have done that and we’ve managed to do those feature changes without horribly breaking things for the Drupal 8 people because we kept the backwards compatibility stuff in place. But it means if you haven’t looked at Drupal, even in five years has changed significantly as well because we’ve kept adding features, including API headless stuff, workflow, layout builder, all this kind of stuff.
Angie: And I’d say it’s a great way to build, it’s future-proof, there’s structured data under the hood, so you can… Whatever the new front end trend that ends up being you’re well positioned to jump on that. It’s got a great community full of awesome people. I hang out at open-source communities a lot and some of them are like, “Oh, you don’t know about blah, blah, blah?” Well, whatever, kind of thing. And Drupal is more like, “Oh, you don’t know about blah, blah, blah? Well, let me tell you about it because it’s awesome.” It’s just like a really welcoming cool community, I think, because we come from all different backgrounds and we’re just here to make the web rock.
Angie: So, yeah. Anyway, I hope something in there was helpful. And thank you very much for the opportunity to speak with you.
Drew: It would be remiss of me not to ask you about your involvement in open-source more generally, and especially the hurdles that are very real for getting more women to participate in open source. That’s something that you’re very passionate about, isn’t it?
Angie: Yeah. My background is, I was an open-source zealot back when I was even a teenager, I heard about opensource. I was like, “That is so cool. Everything should be open source.” But I always had this vision that you had to be a genius to work on open source because the people who were big names and open source back then was like Linus Torvalds and Eric S. Raymond and I don’t know. For some reason they carry this glow of like, “Oh, those guys are so smart.”
Angie: And so, I was self taught, I was going to community college at the time. And so, I just figured out this is not for me. But then Google announced a program called Google Summer of Code, which was where you get paid over the summer to work on an opensource project. And I was like, “Well, that’s really interesting because if they know we’re students, they know we don’t know everything yet. Maybe I’ll and just see what happens.” And I picked Drupal because I’m one of those people that just use source on every website I visit, just because I’m curious about what’s happening. And back in the day, there was a website called Spread Firefox that was built on Drupal. And it was really interesting. It was basically the community site where anyone could upload like a Firefox installed Fest or event having their campus, or they could upload a poster that they made or like whatever.
Angie: And I was just like, “That’s really neat. That’s cool. I’ll just file that away for later.” Because I long since given up using actual CMSs because I use PHP nuke and I was like, “No, I’m never doing anything like it. My cat could write better code than this anyway, I’m sorry. Sorry, PHB nuke.” But anyway, I had filed that away and I saw Drupal on listers and I was like, “All right, sure. I’ll give it a go.” And then it was amazing because from this side of things, once I got in the community and was actually contributing, I realized like, “Wow. A, first of all, the people that I thought knew all these things don’t actually know that much. You know what I mean?” They do. But like everyone has strengths and weaknesses. And what I saw happening was there’s people who are really good at certain aspects of the code.
Angie: People who are really good at documentation, people who are good at design. People who are good at explaining things to people, whatever, all of these people collaborating on these changes and all contributing the little bit that they know. And I was like, “Man, if I had known that like 10 years earlier, I would have gotten hit on this, I could have had a whole decade of software experience by now.” And so, I made it my mission to try and break down that barrier, particularly for women because women are socialized from a very young age to not get into tech, to begin with. And then once they get into tech, there’s a lot of like, “Oh my God, it’s a girl,” kind of thing. And it’s just like, if you’re in tech, you’re already dealing with a certain amount of crap.
Angie: And it’s like, why don’t we cut the crap and show people how awesome this is. I love talking to anybody who wants to get involved in open source, but particularly the women because I ran a group called Drupal Chicks for a few years there, which was women in Drupal to get together and talk. And the meetings were so funny because a girl would be like, “Well, I’m not a developer but,” and then she’d go on to like describe all this complex CSS stuff that she does or whatever. And I’m like, “You know that’s development, right?” I see women in particular though, everybody can struggle with this, but women in particular struggling with that feeling that even if I’m a perfectly capable person, that I’m just not as good as everyone else and so yeah.
Angie: I tried really hard to break down that barrier. I also tried to break down the… For my own self like people go, “Who Is Web Chick?” And I’m like, “No, I’m just like a moron.” I was like, “I did the stupid thing last week.” It was hilarious. And just to kind of break down that rockstar idolatry stuff, because we’re all just humans and we’re all just here trying to make it work and yeah. I am passionate about it because I just feel like if there’s someone out there who genuinely loves open source and the ethos of open source and the idea of it, that they shouldn’t be held back just because they think they’re not as good as other people because I can tell you right now, you’re good enough and you should just do it.
Drew: That’s so, so important. I’ve been learning about Drupal 9. What have you been learning about lately, Angie?
Angie: At the beginning of the whole pandemic thing, a friend of mine who teaches guitar, posted like, “Crap, my music school closed. Does anybody want to do Zoom lessons?” And I was like, “Yeah, I have a guitar. Just been hanging out here.” And just because I collect musical instruments just in case of the off chance my daughter wants to get into music. I’m like, “Great, I have all the things.” But I have no idea how to play it. I play drums. And so, I was like, “Sure, I’ll try that.” Actually, for the past two months I’ve been taking guitar lessons online from a friend of mine and I’m learning like take it easy by the eagles and stuff like that and a little bit of blues stuff and I’m so far very terrible, but I’m trying and it’s fun.
Angie: It’s just a completely different thing that it wouldn’t otherwise do. And yeah, it’s been really fun.
Drew: Incredible. If your dear listener would like to hear more from Angie. You can follow her on Twitter where she’s @Webchick, find her personal site at webchick.net. And of course, find out all about the current and upcoming versions of Drupal at drupal.org. Thanks for joining us today, Angie, do you have any parting words?
Angie: No, I’m really grateful to have the opportunity to speak with you. You’ve been around the block like, “Holy cow.” I was looking at your resume. It’s like, “Oh my gosh.” Speaking of people that are up on pedestals, but honestly, that’s amazing. I really appreciate the opportunity to talk with you, especially about the little open-source project that could. And hope that people take the chance to try it out.
(il)
Website Design & SEO Delray Beach by DBL07.co
Delray Beach SEO
Via http://www.scpie.org/smashing-podcast-episode-17-with-angie-byron-whats-new-in-drupal-9/
source https://scpie.weebly.com/blog/smashing-podcast-episode-17-with-angie-byron-whats-new-in-drupal-9
0 notes
laurelkrugerr · 5 years ago
Text
Smashing Podcast Episode 17 With Angie Byron: What’s New In Drupal 9?
In this episode of the Smashing Podcast, we’re taking a look at what’s new in Drupal 9. What are the major upcoming changes to this nearly 20-year-old open-source project? Drew McLellan talks to Drupal core committer Angie Byron to find out.
In this episode of the Smashing Podcast, we’re taking a look at what’s new in Drupal 9. What are the major upcoming changes to this nearly 20-year-old open-source project? Drew McLellan talks to Drupal core committer Angie Byron to find out.
Show Notes
Weekly Update
Transcript
Drew McLellan: She is Senior Director of Product and Community Development at Acquia, a company you’ll know from their software and services built around the Drupal ecosystem. She’s been a Drupal core maintainer for nearly 12 years, as well as being an author for O’Reilly and an open-source evangelist who just lives and breathes Drupal. Joining us from near Vancouver, British Columbia. She’s passionate about getting new people, especially women into open source. We know she’s a longstanding Drupal expert, but did you know she once taught a dolphin to make marmalade? My smashing friends, please welcome Angie Byron.
Drew: Hi Angie. How are you?
Angie Byron: I’m smashing, Drew. How are you?
Drew: I’m very good. Thank you. I wanted to talk to you today about something we’ve certainly not covered on the podcast before. And I’ve rarely actually touched on Smashing Magazine articles over the years, despite it being a hugely popular open-source project with a massive community. And that of course is Drupal. Now, I’ve deliberately not described what Drupal is in my introduction because I feel like there could be a whole generation of web designers and developers who’ve never really come across it. And there are those who might think, that we know what Drupal is all about, but that could be based off of a view formed 10, 15, 20 years ago almost. What is Drupal as it stands today?
Angie: We call Drupal a content management framework. And what that means is it’s a generalized framework that you can use to make websites, you can use it to make mobile apps, you can use it to make just about anything you can imagine. But it’s very content structured, content based central system. It’s used to power one in 35 websites in the world. It’s out there and people use it. It’s been used a lot for government websites, media websites, just about everything that you can imagine. It’s even been used to power say, the princess cruise ship schedules and things like that. It’s used in a lot of different capacities.
Drew: How does it differ from other content management systems that people might have used in the past, such as WordPress or static publishing tools like Hugo and Jekyll?
Angie: I like to say that if you know what you want is a blog or another thing that WordPress is really good at, WordPress is a great choice. Similarly, if you know that you need some highly customized software that can only work with one particular backend system or things like that, a custom CMF framework like Symfony or something might be a better choice. Drupal is great because it spans both. It has a user interface, so you can create content just by clicking and filling out forms. And you can extend it with its API, but it’s built to actually allow you to do a tremendously amount of powerful stuff just by being in your browser, clicking around forms and buttons.
Angie: I use it a lot because I often have customers who don’t really know what they want. And so, they think that they want to blog and then it turns out that, “Oh, but we also want an ecommerce component with this blog. Oh, and we also need like a forum with five star ratings and reviews and these kinds of things.” And with Drupal, that’s just a check boxes to start adding new functionality like that versus with WordPress, it might mean, putting a couple of different solutions together that you then have to integrate. And with custom code, that’s obviously custom codes what’s going to be a lot of work for you.
Angie: Drupal has a whole library of contributed modules. There are something like 10,000 to 12,000 of these add-on modules that can do additional features. And then out of the box, especially if you haven’t used Drupal in 20 years, Drupal is actually a really full featured CMS these days as well, where it shifts with media layout support, all kinds of different things.
Drew: You briefly mentioned some projects before that are using Drupal. What is the ideal project where somebody would reach for it over something else? Where does Drupal really excel?
Angie: I would say that Drupal is great if you have, let’s say a website or a web presence where there’s a lot of different sub-components and you all want them to maintain a consistent look and feel. Universities use it a lot, for example, because they want to have the consistent university branding across all of the different sub sites. However, they also want to give individual departments freedom to set up their own, say content types. So, say the art department might want to track artists and musicians and things like that. And tying those to works that they’ve produced versus the IT department might want to be contracting like these are the different people we do IT internships for, and these are the different people that work for them.
Angie: And Drupal allows you to model all of that content together and create a dynamic views of it and forms that you can just click together out of the box.
Drew: One of the reasons I wanted to chat to you about Drupal at this point in time is that there’s a major release around the corner. Isn’t there?
Angie: There is. Next, well, I don’t know when this will go out, but it’s June 3rd. So, currently a week from today.
Drew: And that’s Drupal 9.
Angie: That’s correct.
Drew: Now, a big new version of a mature software product always brings with it, big new features. Doesn’t it? What are the headline changes that someone would really notice about Drupal 9?
Angie: If you’re using Drupal 8 currently, the big news for you is that Drupal 9 is really not much has changed. And that’s a big deal for our community because in the past, when you want to move from say six to seven or seven to eight, it was a, I wouldn’t call it a harrowing process, but you could call it something like that where we used to have a philosophy that we’re going to break your code and not your data. We would always be on the cutting edge of the latest things and any major version upgrade would come with it. The needs, support modules and the underlying code with Drupal, and you’d always get the latest, greatest stuff, but it would come at an expensive, costly upgrade process.
Angie: From Drupal 8 to nine, what we’ve been doing is building Drupal 9 in Drupal 8 effectively. And so, Drupal 8, the whole way along has gotten the new APIs, the new features, all these kinds of things in a backwards compatible way. What Drupal 9 is going to do is cut out the backwards compatible stuff and put us all on the latest version of say, Symfony, PHP, MySQL all the newest stuff there so that we have security support for those things for the next three to five years to come. From eight to nine, not much, if you last looked at Drupal though from say Drupal 7, a tremendous amount has changed, because you not only get the innovations that have into Drupal 8, things like mobile experience, out of the box configuration, management, the views module, which allows you to dynamically assemble lists of things available out of the box.
Angie: But you also get the features that have come within the Drupal 8 cycles. Those are things like a media library, workflow management, layout building capabilities, better automated testing and all kinds of other things.
Drew: One aspect I am particularly interested in because there’s something that’s either lacking or patched on messily to many content management systems, is this concept of structured data. What do we mean when we say structured content? And what does Drupal 9 bring us in that regard?
Angie: Structured content is a really fascinating concept and it’s been built into Drupal from the early days. In a CMS like WordPress or Squarespace, something like that, you would say, I want to download the photo gallery feature and I’m going to enable the photo gallery feature, I’m going to get the photo gallery as the person who created it, envisioned it. In Drupal, you go at it a different way. What you do is you create your photo gallery feature from base components. And what I mean by that is you will create a content type called photo. You will add an image field to it for the picture. You will add maybe a caption field, you’ll maybe have attributes to the image and all these other tenets, number fields for the attributes, or sorry for the heightened width text fields for the old attributes, there’s many different kinds of things you can do.
Angie: And then you’ll create a view of photos and you can choose if that photo view is, say it lays everything out in a six by nine grid, or maybe it does it in two columns or whatever, and you can have full customizability over how, and in what way it’s produced. Structured content is interesting because not only can you make your website look like how you want it, but because the content is structured in a generic way through entities and fields, you can also say, for example, create a decoupled react application that talks to Drupal as a backend.
Angie: And have full control over how that’s done, and then take the same backend, make it your website, the same backend make it say a kiosk in the mall where people can select different items. A lot of people make use of Drupal as this general content store that can then be talked to by anything. And the way we can do that is because all the data that the CMS manages is abstracted. It’s not built into the presentation layer. If you use a Wiziwig editor to answer in your content, you’re going to get the images embedded in the body field, and that’s never any good if you want to then take part that body field and display it in a sidebar block.
Angie: Drupal by structuring everything into discrete fields and entities on the backend, makes it so the concept can be mixed and matched really easy.
Drew: That means you could use a Drupal as a headless CMS essentially?
Angie: Yeah.
Drew: That’s pretty much what you’re describing there, isn’t it?
Angie: Yes, absolutely.
Drew: If you’re working in the Jamstack say, or you’ve got a single page app, or you’re building mobile apps or have other less conventional ways of consuming content, you could use Drupal as a content management system just to literally manage the content and then to expose it to those other things via an API or something like JSON.
Angie: Exactly. Yep. JSON:API support is built in and this comes with its… everything about Drupal is modular. If you don’t want the theme layer, you don’t need to have it. Theme layer is what we call like the HTML presentation layer that’s generally generated by PHP. But you can throw that out and say, “I just want JSON:API output of all of my content.” You also get certain features that are built into Drupal built into your app. For example, Drupal has a really robust users, permissions and roles system. You can set up different roles with discrete permissions to do different things on the site or see different pages on the site even.
Angie: And those things will be respected by Drupal and will be enforced by Drupal so that by the time someone actually loads the application at a certain URL, you know that the person who is there is meant to have access to it. It’s really interesting. It’s a cool product to work on because, on the one end, it’s a product made by developers for developers. We started building it because we wanted an easier way to… We didn’t want to have to get called by somebody to change the copyright field at the bottom of the page every year or whatever.
Angie: We just make a box so that they can fill it out. But it’s also a tool made for a carving out a whole new area of people, which is like site builders. They’re like technical, but not necessarily know how to write all the backend code, but they know for example, how to click together these different concepts in order to make these really powerful sites. And so, at any point, when you’re developing a feature such as a media library, you have to not only think about how do we make this really easy to use for a marketer or a content author persona, who’s going to use it every day, but also how do we make it infinitely extensible from the developer side, how do we make sure we have automated tests that cover everything?
Angie: How do we make sure that the output is accessible so it can be translated by screen readers? And all these kinds of considerations. So, Drupal’s really interesting and kind of stands out in its field in that a lot of times you have to pick between a really easy to use front end that doesn’t have decoupled content or a very technical decoupled content thing that you need a fleet of JavaScript developers to work on. And Drupal sits in a middle and a sweet spot where it can be both.
Drew: Because Drupal is essentially traditionally a themed CMS, isn’t it? If you’re looking to build a site, a more traditional site where you’re using a theme to output HTML pages, CSS, a nice responsive web design is going serve your mobile devices, desktop devices, and so on. What templating capabilities would you be looking at in Drupal? What have you got available to use?
Angie: Drupal uses a Symfony library called Twig, and it’s effectively HTML templates with little special characters to do branching, basic branching logic, print variables, that kind of thing. That’s a default output that Drupal does. You have a callback that generates the output and that’s stored into an array. The array is passed to whichever output layer. It could be JSON:API, as I mentioned before, and just put big drop of JSON, or it could be passed to the theme layer, which will then translate those arrays into, this is the header, this is that and it’ll print it into the CSS and HTML variables like that. I don’t know if that answered your question though. Sorry.
Drew: No, you did.
Angie: Okay, great.
Drew: I think last time I used Drupal, it was using maybe Smarty. Is that right?
Angie: Oh, Smarty, yeah. Well, that’s like Drupal 6 days.
Drew: Yeah, it’s Drupal 6 or Drupal 5 even.
Angie: Yeah. Oh, that’s fantastic. Twig is a similar concept to Smarty, but the nice thing about Twig is it better enforces the separation between your business logic and your presentation logic. Twig is not really, you can do it, but it’s not set up as a best practice for you to sit there and start putting a whole bunch of functions and objects and classes and all that stuff in your actual HTML files. Your HTML files, more or less stay HTML files with just the little special placeholders in them. And then your business logical happens behind the scenes in a module or in a pre-process function or something like that.
Drew: That separation actually makes things a little bit more straightforward and safer for developers who aren’t so used to working in the backend world maybe be even more comfortable with doing front end development, but a lot of the hard logic is separated from the HTML and CSS?
Angie: That’s right. And the other thing that you get as a benefit out of that is Twig is really good about auto XSS vulnerability escaping. A common thing that can happen when you’re writing your own theme from scratch is you start printing variables directly. And then someone creates a username like ‘Little Bobby Tables or whatever, that kind of thing and messes your whole site up. Twig is great because it has auto escaping of variables like that. As long as you’re sticking to the APIs and you’re using them directly, you won’t accidentally introduce either a JavaScript or SQL vulnerability in your site just by trying to make your theme look nice.
Drew: And in terms of the content authoring experience, I know a lot of people in the web design industry have seen some of their business go away, particularly at the lower end to these extremely user friendly services, things like Squarespace. How does Drupal compete with that authoring experience that people get from these very polished and sleek services?
Angie: I will say we’ve come a long way. We’re definitely not at a Squarespace level. I’ll just say that flat out. Squarespace has the advantage where they are not building structured content in that round or they’re building pages. And so, the pages are self contained and they can have full control over the HTML in there and use nice front end tools to get at them. Drupal by nature being structured content, I mentioned the benefits are that the content could be mixed and matched. It’s easy to output the content of variety of different fashions. But the disadvantage is that, our front end tools are not, they respect that structured content nature. So, you don’t see like a take over the page in place editing experience with Drupal as it stands.
Angie: However, I will say that there’s a bunch of people doing a lot of work. And so, core itself shifts with in place editing, which is the ability to click on a field and edit it right in place without having to go to the backend. There’s also the settings tray, which if you want to make a quick configuration change to say the site name or the location of a block or something like that, that’s built in there. The layout builder has some drag and drop capabilities in there as well. We’ve really made a concerted effort to improve the content authoring experience in Drupal. We did user testing back in, we started in 2008, Drupal is an old project that you mentioned it’s been around awhile, but we started in 2008 and 2012, 2015.
Angie: We keep doing these every few years, we sit down and the University of Minnesota has helped us with this. We sit down and we go to a real life usability lab with one way glass and eye tracking the whole thing. And through that process really saw that while the backend of Drupal is amazing and people love it because it’s flexible, it’s well documented, it’s architected amazingly, all these kinds of things. People really did struggle with the front end. I made it my personal mission. I know that Dree has made it his personal mission, the project lead, as well as the community as a whole to really bring that quality of Drupal to the front end as well.
Angie: And so, we’ve added a whole bunch of capabilities since then, like a backend admin theme. Some of these content author friendly features like workflows, media, that kind of stuff, and putting it first and foremost in people’s hands so that they don’t have to hand write HTML tags or this kind of thing, which was like the case many years ago.
Drew: One of the things that often attracts developers to simple publishing systems rather than the full stack CMSs is this concept of having everything managed in a gate repo. So, the changes to a life site can be atomically deployed and that gate repo is a single source of truth for the project. You don’t have multiple copies of a database representing different versions of a system gets around this issue of developing a new site feature in one environment, and then trying to figure out how to build that up and deploy it to the live environment, which goals may have changed since they started working on the feature. Does Drupal offer any way to manage that particularly difficult process?
Angie: Yes, starting with Drupal 7, in fact, we had a concept called the features module and what features were, where the ability to combine both module functionality as well as configuration changes and deploy those as one chunk of logical code between environments. In Drupal 8 and nine, we’ve improved upon that ability by building it right into the core system. There’s something called the configuration management system. And what it does is every bit of configuration that you do. For example, what is my site name called, what’s the email template that I’m making, these kinds of things. All get stored into a centralized system and that system has everything else and Drupal is infinitely flexible.
Angie: It can be exported as YAML files, for example, that can just be migrated back and forth between environments. And then it’s really easy to also do a get, diff and find out, “Oh, okay. There’s been changes between the last time that I saw that and I can look them over and make sure they look okay, great import them in.” And there’s both gooey tools for doing that as well as command line tools for doing that because again, Drupal’s always trying to serve both of those audiences.
Drew: There’s always this great opportunity when you make a new major version of a mature software project to deprecate and remove pieces that have had their day maybe features that never caught on in the way that you hope they would and to resolve tech debt and that sort of thing. What changes have been made in Drupal 9 in terms of cleaning house?
Angie: Yeah, we did take the major version bump as an opportunity to really clean house. What we’ve been doing throughout the Drupal 8 cycle is envisioning new ways of doing things. Better, clearer APIs, for example, managing entities or configuration or that kind of thing, or like a more modern JavaScript library for handling drag and drop or that kind of stuff. And during Drupal 8, what we did is we left all the old stuff in place because we didn’t want to break anyone’s site between 2015 and today. But Drupal 9 gave us the opportunity to say, “Okay, as we went along the way, we just marked all these things as like at deprecated.”
Angie: And so, we could find them later and be like, “That’s the stuff we need to clean up.” And so, Drupal 9 went through wholesale and got rid of all of the deprecated functionality. And then there’s a Drupal 8.9 version that’s coming out at the same time as Drupal 9, which has all the BC layers in there, but it’s fully compatible with Drupal 9 to give people a release to move everything up to where it needs to be. But yeah, among the things we did was we updated to the latest versions of all of our dependencies. We have a bunch of JavaScript dependency, some PHP dependencies.
Angie: Those are all on the latest sort of LTS releases. So, we stay on that for a long time. We also took the opportunity to raise the system requirements, which I know people are like, “Oh my God, why my Eskimo 5.7.” But the advantage is that a lot of these older versions of PHP, particularly at PHP 5, there has still hanging around, haven’t been security supported in ages. And so, we’re trying to make sure that our users that are on Drupal 9 are staying secure, not only today, but going forward into the future. We’ve updated those and then we’ve gotten rid of any deprecated APIs that we’ve created along the way. When you start a site with Drupal 9, you’re starting with a fresh slate, no deprecated code on the latest stuff and should serve you for many years to come.
Drew: That sounds like quite a complex development workflow. The fact that you’ve been working on a Drupal 9 compatible version of Drupal 8 and working on Drupal 9 at the same time, getting them ready to release together. How did that work in practice?
Angie: Yeah, it’s worked well because we effectively write Drupal 9 in Drupal 8 over the past five years, starting at Drupal 8, we use a concept called semantic versioning. In the past, when we released Drupal 7, for example, we just left it alone more or less, except for a few bug fixes and maybe keeping it up-to date with the latest versions of PHP that come out and that sort of thing. With Drupal 8, we made the shift to semantic versioning. And what that means is that every six months, we have what’s called a minor release of Drupal and that’d be like an 8.1 and 8.2, as opposed to an 8.1.6 or something, which would just be a bug fix release.
Angie: And every time we do one of these minor releases, we have the opportunity to add new APIs, to add new features and to change the way that Drupal works with the caveat that we always need to leave a backwards compatibility shim in there so that existing sites don’t stop working. All the way along, we’ve been improving Drupal 8 since its initial release. And so, we’ve added features, we’ve deprecated APIs, that kind of thing. So, when we get to Drupal 9, it was a lot of work. I don’t want to mitigate the word there or deprecate that word that the team has been doing because there’s like this whole burn-down chart of all the deprecated things that we needed to get through and all of these contributed modules that needed to update their stuff too.
Angie: But the effort was much lower than prepping for any other major release, because it really was just honing in on those deprecated things, the libraries that are no longer supported that we need to find alternatives for and making sure we’re on the latest versions of stuff and all this stuff works with it. And so, that’s the Delta between 8.9 and nine will be, I think it’s something like 12% reduction in code or something like that is what we managed to do, but otherwise they’re identical because they’re all using the same stuff.
Drew: Wow. It’s just like Drupal 8, but the shackles have come off.
Angie: Yes. That’s a great… I’m going to quote you on that. That’s great, I love it. Have you thought about joining our marketing agency team? No, I’m just kidding.
Drew: Historically, and Drupal is certainly not alone in this, but there has historically been quite a lot of pain in moving sites from old major versions to newer major versions of Drupal. It sounds like maybe with process of developing a Drupal 9 inside Drupal 8, maybe that has been resolved slightly. So, should moving from Drupal 8 to Drupal 9, actually be fairly straightforward?
Angie: That’s right. Yeah. I think there’s basically three scenarios, so one is if you were running Drupal 8 and every time a new minor release of Drupal 8 came out, you upgraded it to a right away and you started making use of the new stuff. Your path is going to be basically nothing like you’ve already been doing all the work and you’re fine. If you moved to Drupal 8 awhile back and you haven’t been keeping up with the BC changes, there is a little bit of work for you. It’s definitely the easiest upgrade in over a decade of our software anyway. And we have a ton of different tools to help you with it. There’s a dashboard that shows all of the contributed modules and what their Drupal 9 situation is, there’s automated tools for going through and checking your code and flagging any deprecated functions that you have.
Angie: And there’s tools for automatically, going up and finding, “Oh, this is the latest version of your module and it’s Drupal 9 ready? You should go download it,” that kind of stuff. From Drupal 8 to 9, I would say that that part’s pretty well covered. If you’re coming from a prior version of Drupal, say Drupal 7 or below to Drupal 9, that does start to look a little bit trickier, like among the changes that we made in Drupal 8, where for example, we moved entirely to object-oriented PHP and we started utilizing design patterns that were found in other software project, which is a really smart thing to do architecturally, but it does mean that if you had a ton of custom code in your old life, that in Drupal 9, you’re going to need to find alternatives for that.
Angie: Acquia is a product and development called Acquia migration accelerator which is aiming to solve that problem where we’re creating like a nice, react to find application, which reads in your old Drupal 7 data creates equivalent Drupal 8 data for you along with all the modules that you’re going to need that mapped to your old Drupal 7 modules where possible to try and expedite that process quite a bit because we want to make sure that everybody who’s on older versions can still make it over to the new world order where everyone’s on the same version and we’re all working together.
Angie: And then in addition, we’ve also extended the Drupal 7… The community like the opensource community of Drupal their end of life in Drupal 7 as of November of next year. Currently, anyway, we need to discuss whether COVID impacts that or not. But there’s a number of different companies and Acquia is one of them that offers extended support for Drupal 7 beyond that, to 2024 at least. And so, that makes it so that people who have an easy upgrade have a year and a half to get it done. People have a less easy upgrade, have potentially like three and a half years to get it done or longer if they need to. And we’re trying really hard to make it possible for everybody to move over and then building tools like Acquia migrate accelerator to help speed up the process.
Drew: I’m intrigued by the sound of this functionality to scan your code and find out if it’s going to be Drupal 9 compatible. Is that essentially a static analysis tool?
Angie: It is. Static analysis has its limitations. We’ve built a little bit… It’s a library called Rector PHP and you can use on any generic PHP code. It’s not specific to Drupal, but we’ve built a wrapper around it called Drupal Rector, which my understanding is that it adds a little bit of extra things where… There’s certain stuff that we know when something’s dynamically loaded up in the argument that it’s looking for might not be present at that wouldn’t be necessarily addressable, when it’s just in static codings reading dollar signs and stuff like that. And so, there’s been a little bit of extra wrappers to look for some of the most common issues that we find there. And the other cool thing I’m sorry, I got those two confused.
Angie: PHP scan is the thing that scans the code. Rector is the thing that can automatically apply changes to code. And so, we’ve been using those in tandem. PHP standard do the static analysis, plus a wrapper for some Drupal specific things to catch some of the dynamically loaded problems. And then rector is a thing that’s used to say, used to be Drupal_set_message of procedural function. And now it’s this arrow Drupal message or whatever it is and it automatically can make those changes for you so that you’re really only honing in on a couple of tricky your API bits that can’t be automated for you, but we have a dashboard on dev.acquia.com that goes through all of the contributed modules.
Angie: And I’m going to get the numbers wrong, but it was something like 50% of projects are either done already for Drupal 9, or they just need like one or two line changes that can be done with this automated tool. And then there’ll be good to go. The two of those tools together in tandem have been excellent. What I’d like to see is when we make API changes going forward in Drupal 9.1 and 9.2. and so on that we actually couple them with a rector room that will automatically fix them in modules going forward, because then we can cut this transition period down even further in future releases.
Drew: That sounds really smart. Is this something that users with Drupal 8 sites currently can start using in preparation for Drupal 9?
Angie: Yep, absolutely. We’ve been recommending people start doing this since beta, which was a couple of months ago. Yeah, there’s a couple of I don’t know if it’s the best to send you links or something like that, but there’s a project on drupal.org called upgrade status and that’s a nice jumping off point. That’s the thing that gets you the dashboard overview, it looks at all your modules tells you a red, yellow, green, whether or not it’s ready for Drupal 9 and can point you off to the tools that either can help upgrade your site for you or help you upgrade your own code in cases where you’ve extended Drupal beyond its normal capabilities.
Drew: So, say somebody listening to this has got a WordPress site, which they’ve built over the years. They’ve got maybe multiple themes and child themes, dozens of add-ons, it’s draining, it’s bursting at the seams, it’s beginning to sweat and they’re looking at Drupal, they’re thinking, “I like the sound of this. This sounds like it’s built for more of the project that I’ve got here.” What would the process of moving a site on something like WordPress over to Drupal look like?
Angie: One of the features of Drupal 8 is the migrate API, which is something we’re making use of an Acquia migrate accelerator as well. And the migrate API is generic. It doesn’t care what you’re moving to or from, we happen to use it to move from Drupal 7 to Drupal 9, but you could also use it to move from WordPress to Drupal or from Drupal to WordPress for that matter. Please don’t but you could. There are a bunch of plugins for the migrate system and one of them does add WordPress specific knowledge to the migrate system. And so, it sets up WordPress as a source, Drupal as a destination, and it moves things over there. That worked for the data of your site, the actual functionality of your site, you’d have to do some research to figure out if you say I was using this plugin and WordPress that maps to this module in Drupal.
Angie: One future plan we have for Acquia migrate accelerator actually is, once we got the seven to nine problem leaked to try and open it up so we can move people from anything to Drupal because it’s the same basic problem where you’re doing a major upgrade from an external system to another external system. There’s no reason we couldn’t theoretically throw in WordPress, Adobe experience manager, Sycor those kinds of things into this as well and work on migration tools for those because yeah, the more on the Drupal boat, the merrier.
Drew: Drupal has been a project for nearly 20 years at this point, it’s obviously got a healthy ecosystem loads of committers, loads of support. It’s got companies built around it. But obviously a project this big has to keep evolving and keep bringing in new blood. Are there any initiatives to bring new developers into the Drupal family?
Angie: There is. There’s a couple of those. I would say the one that I’m the most excited about that is very ambitious and so we didn’t get it done in Drupal 8, but we’re calling it, the admin UI initiative would be probably need to split that up into several smaller initiatives, but effectively it’s an initiative to modernize the JavaScript of Drupal. And that means a number of different things. Number one, we’re using jQuery because that was the hottest thing back in 2006 or whenever we made that decision. And moving it more to like generic ES 6 or I don’t even know, I’m sorry, I’m not a JavaScript person, so I don’t know what there is to list there, but whatever the latest ECMAScript is, we’d be using that.
Angie: But it also means, drilling down… Drupal 8 in particular already went a long way to making Drupal really accessible for decoupled builds. Having a JSON:API output, there’s a distribution called Contenta that is get you up and running on a Drupal site, catered to headless, if that’s what you want. There’s a bunch of stuff in that area, but I would love to do even more. Knowing that that is more or less a best practice now, it’s like, sort of build this decoupled front end to a backend and really honed Drupal for that purpose.
Angie: I think that’s part of the JavaScript modernization. And then the other part is a lot of our admin experience tools are still in that PHP client server model, or like a person who clicks a button, there’s a request to the server or something churns, and then you get output. I would love to bring in more of the dynamic instant feedback, that react view angular, some of those libraries make possible. I would love to get some of that in the actual admin interface, both just so the code interface looks nice, but also because if we could develop a set of components, say react components or something like that.
Angie: All of the Drupal modules that plug into Drupal could also make use of those. And it wouldn’t be like reinventing the wheel every time. I think that’s going to be a major focus for Drupal 9 is modernizing the JavaScript and the whole overall developer experience of Drupal for JavaScript developers. And then in addition to that, we’re also trying to minimize the amount of work that people who are developers and already know Drupal have to do through the automatic updates initiative is another big one that I’m excited about where right now, if you want to update your modules, that’s pretty straightforward, but updating core requires some manual work.
Angie: And we would like to get rid of that so that everybody can stay on the most secure version and that kind of thing. If it hasn’t come across, Drupal’s very concerned about security. We run some major governments in the world. We are running the Grammy’s or whatever. A lot of people depend on Drupal for being rock solid. And so, we spend a lot of time being very concerned about the security of the software, making sure the security team is responsive, not only to core issues, but anything that happens in our contributed module space. We take a lot of care about accessibility. We make sure that any change that goes into core goes through a series of gates and make sure that it’s WK compatible and uses the correct Aria attributes and all that kind of stuff.
Angie: We really have spent a lot of time making sure that things are good. And now I think the next phase of things where he’s going to be opening up all of that effort that we’ve put in to make it more accessible to more people.
Drew: It sounds like Drupal takes longterm support very seriously.
Angie: That’s correct.
Drew: How do you balance having a modern code base, you mentioned updating the style of JavaScript using having something that’s attractive to developers yet still having something that’s stable and isn’t following fads, isn’t bringing in dependencies that are going to quickly go away, that you can rely on and it’s going to be a bit boring and keep running and be supportable?
Angie: That is a fair question. I think a couple of different ways. As I mentioned, Drupal is very modular. One thing that has led to success in the past, so JSON:API is a good example. There was a lot of contention about what format are we going to standardize on for Drupal itself to output. And we settled on JSON:API for a number of reasons. It’s an open protocol. It’s not backed by one particular company, blah, blah, blah. There’s a bunch of stuff. When we did that, we actually prototyped that in contrib first. We created a contributed module, which can iterate very fast and easily.
Angie: And we can even just say, “Oh, that didn’t work out, delete it.” We were able to innovate really fast out in sort of this contributed module space. We started there and saw that, “Hey, this thing has some legs. Like people are actually making use of it. They’re providing really great developer feedback. We’ve got Drupal people on the JSON:API spec writing team, like this is actually really good. Let’s bring that thing that we already know works into core.” And then we did so, but it’s still just a module. Let’s say that, next year XMLRPC comes back from the dead and that becomes the thing that everybody uses.
Angie: It’s still possible that we would just leave the JSON:API module in there. We would get a new XMLRPC module. We would enable that by default, but still leave the old thing in there. And then when Drupal 10 came out, we’d take the old JSON:API module, move it back to contrib and people could still use it. But what shifts in the core software itself would just be following the latest trends. This way we get the best of all worlds because we’re able to innovate quickly. We’re able to make the best decisions possible for what the default Drupal user experience will be and developer experience. But then we’re also able to backtrack on decisions if necessary to do different things instead.
Angie: I think what would be get really tricky would be like, if we wanted to throw out the entire theme system and replace it with angular, for example, that would be hard. It’s really hard to make… All of the modules have to write four different ways that they could do their templates and that kind of stuff. That one, we would need to think through more, but that general approach of figuring out a way to plug into the system, leaving the old way in there as a crutch for the people who still need it. And then when we retire things, we retire them gracefully, so they’re still available to people, but just not part of the core product, I think that’s generally how this goes.
Drew: And I guess it’s that continuing process that’s brought you to this point where you’ve got Drupal 8 with all the backwards compatibility, I’ll call it baggage, baggage that you’re now shedding and moving forward with Drupal 9.
Angie: That’s right. Yep. And we’ll do it again in Drupal 10.
Drew: It sounds like a very important release for Drupal. Is there anything else we should know about it? And when is it landing?
Angie: It lands on June 3rd. You heard it here first, or maybe you didn’t hear it here first. We’re going to be doing some kind of like… It’s a little sad that it’s happening during COVID times because when Drupal 7 and eight came out, for example, were user groups all over the world doing like Drupal parties with cakes and all this kind of stuff. And so, we’re going to try and do a virtual version of that, but it won’t quite be the same. But what’s really cute is people bake little Drupal cupcakes and stuff like that, or showing the Drupal can on the side of a building or these kinds of things. And so, it’s a really creative and innovative community, so I’m sure they’ll figure it out some of the cool stuff.
Angie: But no, in terms of things to cover, I think we covered a lot of it, I think, if you’ve looked at Drupal before and held your nose at it, I would say, please give it another look. We’ve done a lot of work and over the past years to really, really hone in on that user feedback, really hone in on the usability piece, make it much easier for marketers. And also much easier to maintain for developers too. We have done that and we’ve managed to do those feature changes without horribly breaking things for the Drupal 8 people because we kept the backwards compatibility stuff in place. But it means if you haven’t looked at Drupal, even in five years has changed significantly as well because we’ve kept adding features, including API headless stuff, workflow, layout builder, all this kind of stuff.
Angie: And I’d say it’s a great way to build, it’s future-proof, there’s structured data under the hood, so you can… Whatever the new front end trend that ends up being you’re well positioned to jump on that. It’s got a great community full of awesome people. I hang out at open-source communities a lot and some of them are like, “Oh, you don’t know about blah, blah, blah?” Well, whatever, kind of thing. And Drupal is more like, “Oh, you don’t know about blah, blah, blah? Well, let me tell you about it because it’s awesome.” It’s just like a really welcoming cool community, I think, because we come from all different backgrounds and we’re just here to make the web rock.
Angie: So, yeah. Anyway, I hope something in there was helpful. And thank you very much for the opportunity to speak with you.
Drew: It would be remiss of me not to ask you about your involvement in open-source more generally, and especially the hurdles that are very real for getting more women to participate in open source. That’s something that you’re very passionate about, isn’t it?
Angie: Yeah. My background is, I was an open-source zealot back when I was even a teenager, I heard about opensource. I was like, “That is so cool. Everything should be open source.” But I always had this vision that you had to be a genius to work on open source because the people who were big names and open source back then was like Linus Torvalds and Eric S. Raymond and I don’t know. For some reason they carry this glow of like, “Oh, those guys are so smart.”
Angie: And so, I was self taught, I was going to community college at the time. And so, I just figured out this is not for me. But then Google announced a program called Google Summer of Code, which was where you get paid over the summer to work on an opensource project. And I was like, “Well, that’s really interesting because if they know we’re students, they know we don’t know everything yet. Maybe I’ll and just see what happens.” And I picked Drupal because I’m one of those people that just use source on every website I visit, just because I’m curious about what’s happening. And back in the day, there was a website called Spread Firefox that was built on Drupal. And it was really interesting. It was basically the community site where anyone could upload like a Firefox installed Fest or event having their campus, or they could upload a poster that they made or like whatever.
Angie: And I was just like, “That’s really neat. That’s cool. I’ll just file that away for later.” Because I long since given up using actual CMSs because I use PHP nuke and I was like, “No, I’m never doing anything like it. My cat could write better code than this anyway, I’m sorry. Sorry, PHB nuke.” But anyway, I had filed that away and I saw Drupal on listers and I was like, “All right, sure. I’ll give it a go.” And then it was amazing because from this side of things, once I got in the community and was actually contributing, I realized like, “Wow. A, first of all, the people that I thought knew all these things don’t actually know that much. You know what I mean?” They do. But like everyone has strengths and weaknesses. And what I saw happening was there’s people who are really good at certain aspects of the code.
Angie: People who are really good at documentation, people who are good at design. People who are good at explaining things to people, whatever, all of these people collaborating on these changes and all contributing the little bit that they know. And I was like, “Man, if I had known that like 10 years earlier, I would have gotten hit on this, I could have had a whole decade of software experience by now.” And so, I made it my mission to try and break down that barrier, particularly for women because women are socialized from a very young age to not get into tech, to begin with. And then once they get into tech, there’s a lot of like, “Oh my God, it’s a girl,” kind of thing. And it’s just like, if you’re in tech, you’re already dealing with a certain amount of crap.
Angie: And it’s like, why don’t we cut the crap and show people how awesome this is. I love talking to anybody who wants to get involved in open source, but particularly the women because I ran a group called Drupal Chicks for a few years there, which was women in Drupal to get together and talk. And the meetings were so funny because a girl would be like, “Well, I’m not a developer but,” and then she’d go on to like describe all this complex CSS stuff that she does or whatever. And I’m like, “You know that’s development, right?” I see women in particular though, everybody can struggle with this, but women in particular struggling with that feeling that even if I’m a perfectly capable person, that I’m just not as good as everyone else and so yeah.
Angie: I tried really hard to break down that barrier. I also tried to break down the… For my own self like people go, “Who Is Web Chick?” And I’m like, “No, I’m just like a moron.” I was like, “I did the stupid thing last week.” It was hilarious. And just to kind of break down that rockstar idolatry stuff, because we’re all just humans and we’re all just here trying to make it work and yeah. I am passionate about it because I just feel like if there’s someone out there who genuinely loves open source and the ethos of open source and the idea of it, that they shouldn’t be held back just because they think they’re not as good as other people because I can tell you right now, you’re good enough and you should just do it.
Drew: That’s so, so important. I’ve been learning about Drupal 9. What have you been learning about lately, Angie?
Angie: At the beginning of the whole pandemic thing, a friend of mine who teaches guitar, posted like, “Crap, my music school closed. Does anybody want to do Zoom lessons?” And I was like, “Yeah, I have a guitar. Just been hanging out here.” And just because I collect musical instruments just in case of the off chance my daughter wants to get into music. I’m like, “Great, I have all the things.” But I have no idea how to play it. I play drums. And so, I was like, “Sure, I’ll try that.” Actually, for the past two months I’ve been taking guitar lessons online from a friend of mine and I’m learning like take it easy by the eagles and stuff like that and a little bit of blues stuff and I’m so far very terrible, but I’m trying and it’s fun.
Angie: It’s just a completely different thing that it wouldn’t otherwise do. And yeah, it’s been really fun.
Drew: Incredible. If your dear listener would like to hear more from Angie. You can follow her on Twitter where she’s @Webchick, find her personal site at webchick.net. And of course, find out all about the current and upcoming versions of Drupal at drupal.org. Thanks for joining us today, Angie, do you have any parting words?
Angie: No, I’m really grateful to have the opportunity to speak with you. You’ve been around the block like, “Holy cow.” I was looking at your resume. It’s like, “Oh my gosh.” Speaking of people that are up on pedestals, but honestly, that’s amazing. I really appreciate the opportunity to talk with you, especially about the little open-source project that could. And hope that people take the chance to try it out.
(il)
Website Design & SEO Delray Beach by DBL07.co
Delray Beach SEO
source http://www.scpie.org/smashing-podcast-episode-17-with-angie-byron-whats-new-in-drupal-9/ source https://scpie1.blogspot.com/2020/06/smashing-podcast-episode-17-with-angie.html
0 notes
riichardwilson · 5 years ago
Text
Smashing Podcast Episode 17 With Angie Byron: What’s New In Drupal 9?
In this episode of the Smashing Podcast, we’re taking a look at what’s new in Drupal 9. What are the major upcoming changes to this nearly 20-year-old open-source project? Drew McLellan talks to Drupal core committer Angie Byron to find out.
In this episode of the Smashing Podcast, we’re taking a look at what’s new in Drupal 9. What are the major upcoming changes to this nearly 20-year-old open-source project? Drew McLellan talks to Drupal core committer Angie Byron to find out.
Show Notes
Weekly Update
Transcript
Drew McLellan: She is Senior Director of Product and Community Development at Acquia, a company you’ll know from their software and services built around the Drupal ecosystem. She’s been a Drupal core maintainer for nearly 12 years, as well as being an author for O’Reilly and an open-source evangelist who just lives and breathes Drupal. Joining us from near Vancouver, British Columbia. She’s passionate about getting new people, especially women into open source. We know she’s a longstanding Drupal expert, but did you know she once taught a dolphin to make marmalade? My smashing friends, please welcome Angie Byron.
Drew: Hi Angie. How are you?
Angie Byron: I’m smashing, Drew. How are you?
Drew: I’m very good. Thank you. I wanted to talk to you today about something we’ve certainly not covered on the podcast before. And I’ve rarely actually touched on Smashing Magazine articles over the years, despite it being a hugely popular open-source project with a massive community. And that of course is Drupal. Now, I’ve deliberately not described what Drupal is in my introduction because I feel like there could be a whole generation of web designers and developers who’ve never really come across it. And there are those who might think, that we know what Drupal is all about, but that could be based off of a view formed 10, 15, 20 years ago almost. What is Drupal as it stands today?
Angie: We call Drupal a content management framework. And what that means is it’s a generalized framework that you can use to make websites, you can use it to make mobile apps, you can use it to make just about anything you can imagine. But it’s very content structured, content based central system. It’s used to power one in 35 websites in the world. It’s out there and people use it. It’s been used a lot for government websites, media websites, just about everything that you can imagine. It’s even been used to power say, the princess cruise ship schedules and things like that. It’s used in a lot of different capacities.
Drew: How does it differ from other content management systems that people might have used in the past, such as WordPress or static publishing tools like Hugo and Jekyll?
Angie: I like to say that if you know what you want is a blog or another thing that WordPress is really good at, WordPress is a great choice. Similarly, if you know that you need some highly customized software that can only work with one particular backend system or things like that, a custom CMF framework like Symfony or something might be a better choice. Drupal is great because it spans both. It has a user interface, so you can create content just by clicking and filling out forms. And you can extend it with its API, but it’s built to actually allow you to do a tremendously amount of powerful stuff just by being in your browser, clicking around forms and buttons.
Angie: I use it a lot because I often have customers who don’t really know what they want. And so, they think that they want to blog and then it turns out that, “Oh, but we also want an ecommerce component with this blog. Oh, and we also need like a forum with five star ratings and reviews and these kinds of things.” And with Drupal, that’s just a check boxes to start adding new functionality like that versus with WordPress, it might mean, putting a couple of different solutions together that you then have to integrate. And with custom code, that’s obviously custom codes what’s going to be a lot of work for you.
Angie: Drupal has a whole library of contributed modules. There are something like 10,000 to 12,000 of these add-on modules that can do additional features. And then out of the box, especially if you haven’t used Drupal in 20 years, Drupal is actually a really full featured CMS these days as well, where it shifts with media layout support, all kinds of different things.
Drew: You briefly mentioned some projects before that are using Drupal. What is the ideal project where somebody would reach for it over something else? Where does Drupal really excel?
Angie: I would say that Drupal is great if you have, let’s say a website or a web presence where there’s a lot of different sub-components and you all want them to maintain a consistent look and feel. Universities use it a lot, for example, because they want to have the consistent university branding across all of the different sub sites. However, they also want to give individual departments freedom to set up their own, say content types. So, say the art department might want to track artists and musicians and things like that. And tying those to works that they’ve produced versus the IT department might want to be contracting like these are the different people we do IT internships for, and these are the different people that work for them.
Angie: And Drupal allows you to model all of that content together and create a dynamic views of it and forms that you can just click together out of the box.
Drew: One of the reasons I wanted to chat to you about Drupal at this point in time is that there’s a major release around the corner. Isn’t there?
Angie: There is. Next, well, I don’t know when this will go out, but it’s June 3rd. So, currently a week from today.
Drew: And that’s Drupal 9.
Angie: That’s correct.
Drew: Now, a big new version of a mature software product always brings with it, big new features. Doesn’t it? What are the headline changes that someone would really notice about Drupal 9?
Angie: If you’re using Drupal 8 currently, the big news for you is that Drupal 9 is really not much has changed. And that’s a big deal for our community because in the past, when you want to move from say six to seven or seven to eight, it was a, I wouldn’t call it a harrowing process, but you could call it something like that where we used to have a philosophy that we’re going to break your code and not your data. We would always be on the cutting edge of the latest things and any major version upgrade would come with it. The needs, support modules and the underlying code with Drupal, and you’d always get the latest, greatest stuff, but it would come at an expensive, costly upgrade process.
Angie: From Drupal 8 to nine, what we’ve been doing is building Drupal 9 in Drupal 8 effectively. And so, Drupal 8, the whole way along has gotten the new APIs, the new features, all these kinds of things in a backwards compatible way. What Drupal 9 is going to do is cut out the backwards compatible stuff and put us all on the latest version of say, Symfony, PHP, MySQL all the newest stuff there so that we have security support for those things for the next three to five years to come. From eight to nine, not much, if you last looked at Drupal though from say Drupal 7, a tremendous amount has changed, because you not only get the innovations that have into Drupal 8, things like mobile experience, out of the box configuration, management, the views module, which allows you to dynamically assemble lists of things available out of the box.
Angie: But you also get the features that have come within the Drupal 8 cycles. Those are things like a media library, workflow management, layout building capabilities, better automated testing and all kinds of other things.
Drew: One aspect I am particularly interested in because there’s something that’s either lacking or patched on messily to many content management systems, is this concept of structured data. What do we mean when we say structured content? And what does Drupal 9 bring us in that regard?
Angie: Structured content is a really fascinating concept and it’s been built into Drupal from the early days. In a CMS like WordPress or Squarespace, something like that, you would say, I want to download the photo gallery feature and I’m going to enable the photo gallery feature, I’m going to get the photo gallery as the person who created it, envisioned it. In Drupal, you go at it a different way. What you do is you create your photo gallery feature from base components. And what I mean by that is you will create a content type called photo. You will add an image field to it for the picture. You will add maybe a caption field, you’ll maybe have attributes to the image and all these other tenets, number fields for the attributes, or sorry for the heightened width text fields for the old attributes, there’s many different kinds of things you can do.
Angie: And then you’ll create a view of photos and you can choose if that photo view is, say it lays everything out in a six by nine grid, or maybe it does it in two columns or whatever, and you can have full customizability over how, and in what way it’s produced. Structured content is interesting because not only can you make your website look like how you want it, but because the content is structured in a generic way through entities and fields, you can also say, for example, create a decoupled react application that talks to Drupal as a backend.
Angie: And have full control over how that’s done, and then take the same backend, make it your website, the same backend make it say a kiosk in the mall where people can select different items. A lot of people make use of Drupal as this general content store that can then be talked to by anything. And the way we can do that is because all the data that the CMS manages is abstracted. It’s not built into the presentation layer. If you use a Wiziwig editor to answer in your content, you’re going to get the images embedded in the body field, and that’s never any good if you want to then take part that body field and display it in a sidebar block.
Angie: Drupal by structuring everything into discrete fields and entities on the backend, makes it so the concept can be mixed and matched really easy.
Drew: That means you could use a Drupal as a headless CMS essentially?
Angie: Yeah.
Drew: That’s pretty much what you’re describing there, isn’t it?
Angie: Yes, absolutely.
Drew: If you’re working in the Jamstack say, or you’ve got a single page app, or you’re building mobile apps or have other less conventional ways of consuming content, you could use Drupal as a content management system just to literally manage the content and then to expose it to those other things via an API or something like JSON.
Angie: Exactly. Yep. JSON:API support is built in and this comes with its… everything about Drupal is modular. If you don’t want the theme layer, you don’t need to have it. Theme layer is what we call like the HTML presentation layer that’s generally generated by PHP. But you can throw that out and say, “I just want JSON:API output of all of my content.” You also get certain features that are built into Drupal built into your app. For example, Drupal has a really robust users, permissions and roles system. You can set up different roles with discrete permissions to do different things on the site or see different pages on the site even.
Angie: And those things will be respected by Drupal and will be enforced by Drupal so that by the time someone actually loads the application at a certain URL, you know that the person who is there is meant to have access to it. It’s really interesting. It’s a cool product to work on because, on the one end, it’s a product made by developers for developers. We started building it because we wanted an easier way to… We didn’t want to have to get called by somebody to change the copyright field at the bottom of the page every year or whatever.
Angie: We just make a box so that they can fill it out. But it’s also a tool made for a carving out a whole new area of people, which is like site builders. They’re like technical, but not necessarily know how to write all the backend code, but they know for example, how to click together these different concepts in order to make these really powerful sites. And so, at any point, when you’re developing a feature such as a media library, you have to not only think about how do we make this really easy to use for a marketer or a content author persona, who’s going to use it every day, but also how do we make it infinitely extensible from the developer side, how do we make sure we have automated tests that cover everything?
Angie: How do we make sure that the output is accessible so it can be translated by screen readers? And all these kinds of considerations. So, Drupal’s really interesting and kind of stands out in its field in that a lot of times you have to pick between a really easy to use front end that doesn’t have decoupled content or a very technical decoupled content thing that you need a fleet of JavaScript developers to work on. And Drupal sits in a middle and a sweet spot where it can be both.
Drew: Because Drupal is essentially traditionally a themed CMS, isn’t it? If you’re looking to build a site, a more traditional site where you’re using a theme to output HTML pages, CSS, a nice responsive web design is going serve your mobile devices, desktop devices, and so on. What templating capabilities would you be looking at in Drupal? What have you got available to use?
Angie: Drupal uses a Symfony library called Twig, and it’s effectively HTML templates with little special characters to do branching, basic branching logic, print variables, that kind of thing. That’s a default output that Drupal does. You have a callback that generates the output and that’s stored into an array. The array is passed to whichever output layer. It could be JSON:API, as I mentioned before, and just put big drop of JSON, or it could be passed to the theme layer, which will then translate those arrays into, this is the header, this is that and it’ll print it into the CSS and HTML variables like that. I don’t know if that answered your question though. Sorry.
Drew: No, you did.
Angie: Okay, great.
Drew: I think last time I used Drupal, it was using maybe Smarty. Is that right?
Angie: Oh, Smarty, yeah. Well, that’s like Drupal 6 days.
Drew: Yeah, it’s Drupal 6 or Drupal 5 even.
Angie: Yeah. Oh, that’s fantastic. Twig is a similar concept to Smarty, but the nice thing about Twig is it better enforces the separation between your business logic and your presentation logic. Twig is not really, you can do it, but it’s not set up as a best practice for you to sit there and start putting a whole bunch of functions and objects and classes and all that stuff in your actual HTML files. Your HTML files, more or less stay HTML files with just the little special placeholders in them. And then your business logical happens behind the scenes in a module or in a pre-process function or something like that.
Drew: That separation actually makes things a little bit more straightforward and safer for developers who aren’t so used to working in the backend world maybe be even more comfortable with doing front end development, but a lot of the hard logic is separated from the HTML and CSS?
Angie: That’s right. And the other thing that you get as a benefit out of that is Twig is really good about auto XSS vulnerability escaping. A common thing that can happen when you’re writing your own theme from scratch is you start printing variables directly. And then someone creates a username like ‘Little Bobby Tables or whatever, that kind of thing and messes your whole site up. Twig is great because it has auto escaping of variables like that. As long as you’re sticking to the APIs and you’re using them directly, you won’t accidentally introduce either a JavaScript or SQL vulnerability in your site just by trying to make your theme look nice.
Drew: And in terms of the content authoring experience, I know a lot of people in the web design industry have seen some of their business go away, particularly at the lower end to these extremely user friendly services, things like Squarespace. How does Drupal compete with that authoring experience that people get from these very polished and sleek services?
Angie: I will say we’ve come a long way. We’re definitely not at a Squarespace level. I’ll just say that flat out. Squarespace has the advantage where they are not building structured content in that round or they’re building pages. And so, the pages are self contained and they can have full control over the HTML in there and use nice front end tools to get at them. Drupal by nature being structured content, I mentioned the benefits are that the content could be mixed and matched. It’s easy to output the content of variety of different fashions. But the disadvantage is that, our front end tools are not, they respect that structured content nature. So, you don’t see like a take over the page in place editing experience with Drupal as it stands.
Angie: However, I will say that there’s a bunch of people doing a lot of work. And so, core itself shifts with in place editing, which is the ability to click on a field and edit it right in place without having to go to the backend. There’s also the settings tray, which if you want to make a quick configuration change to say the site name or the location of a block or something like that, that’s built in there. The layout builder has some drag and drop capabilities in there as well. We’ve really made a concerted effort to improve the content authoring experience in Drupal. We did user testing back in, we started in 2008, Drupal is an old project that you mentioned it’s been around awhile, but we started in 2008 and 2012, 2015.
Angie: We keep doing these every few years, we sit down and the University of Minnesota has helped us with this. We sit down and we go to a real life usability lab with one way glass and eye tracking the whole thing. And through that process really saw that while the backend of Drupal is amazing and people love it because it’s flexible, it’s well documented, it’s architected amazingly, all these kinds of things. People really did struggle with the front end. I made it my personal mission. I know that Dree has made it his personal mission, the project lead, as well as the community as a whole to really bring that quality of Drupal to the front end as well.
Angie: And so, we’ve added a whole bunch of capabilities since then, like a backend admin theme. Some of these content author friendly features like workflows, media, that kind of stuff, and putting it first and foremost in people’s hands so that they don’t have to hand write HTML tags or this kind of thing, which was like the case many years ago.
Drew: One of the things that often attracts developers to simple publishing systems rather than the full stack CMSs is this concept of having everything managed in a gate repo. So, the changes to a life site can be atomically deployed and that gate repo is a single source of truth for the project. You don’t have multiple copies of a database representing different versions of a system gets around this issue of developing a new site feature in one environment, and then trying to figure out how to build that up and deploy it to the live environment, which goals may have changed since they started working on the feature. Does Drupal offer any way to manage that particularly difficult process?
Angie: Yes, starting with Drupal 7, in fact, we had a concept called the features module and what features were, where the ability to combine both module functionality as well as configuration changes and deploy those as one chunk of logical code between environments. In Drupal 8 and nine, we’ve improved upon that ability by building it right into the core system. There’s something called the configuration management system. And what it does is every bit of configuration that you do. For example, what is my site name called, what’s the email template that I’m making, these kinds of things. All get stored into a centralized system and that system has everything else and Drupal is infinitely flexible.
Angie: It can be exported as YAML files, for example, that can just be migrated back and forth between environments. And then it’s really easy to also do a get, diff and find out, “Oh, okay. There’s been changes between the last time that I saw that and I can look them over and make sure they look okay, great import them in.” And there’s both gooey tools for doing that as well as command line tools for doing that because again, Drupal’s always trying to serve both of those audiences.
Drew: There’s always this great opportunity when you make a new major version of a mature software project to deprecate and remove pieces that have had their day maybe features that never caught on in the way that you hope they would and to resolve tech debt and that sort of thing. What changes have been made in Drupal 9 in terms of cleaning house?
Angie: Yeah, we did take the major version bump as an opportunity to really clean house. What we’ve been doing throughout the Drupal 8 cycle is envisioning new ways of doing things. Better, clearer APIs, for example, managing entities or configuration or that kind of thing, or like a more modern JavaScript library for handling drag and drop or that kind of stuff. And during Drupal 8, what we did is we left all the old stuff in place because we didn’t want to break anyone’s site between 2015 and today. But Drupal 9 gave us the opportunity to say, “Okay, as we went along the way, we just marked all these things as like at deprecated.”
Angie: And so, we could find them later and be like, “That’s the stuff we need to clean up.” And so, Drupal 9 went through wholesale and got rid of all of the deprecated functionality. And then there’s a Drupal 8.9 version that’s coming out at the same time as Drupal 9, which has all the BC layers in there, but it’s fully compatible with Drupal 9 to give people a release to move everything up to where it needs to be. But yeah, among the things we did was we updated to the latest versions of all of our dependencies. We have a bunch of JavaScript dependency, some PHP dependencies.
Angie: Those are all on the latest sort of LTS releases. So, we stay on that for a long time. We also took the opportunity to raise the system requirements, which I know people are like, “Oh my God, why my Eskimo 5.7.” But the advantage is that a lot of these older versions of PHP, particularly at PHP 5, there has still hanging around, haven’t been security supported in ages. And so, we’re trying to make sure that our users that are on Drupal 9 are staying secure, not only today, but going forward into the future. We’ve updated those and then we’ve gotten rid of any deprecated APIs that we’ve created along the way. When you start a site with Drupal 9, you’re starting with a fresh slate, no deprecated code on the latest stuff and should serve you for many years to come.
Drew: That sounds like quite a complex development workflow. The fact that you’ve been working on a Drupal 9 compatible version of Drupal 8 and working on Drupal 9 at the same time, getting them ready to release together. How did that work in practice?
Angie: Yeah, it’s worked well because we effectively write Drupal 9 in Drupal 8 over the past five years, starting at Drupal 8, we use a concept called semantic versioning. In the past, when we released Drupal 7, for example, we just left it alone more or less, except for a few bug fixes and maybe keeping it up-to date with the latest versions of PHP that come out and that sort of thing. With Drupal 8, we made the shift to semantic versioning. And what that means is that every six months, we have what’s called a minor release of Drupal and that’d be like an 8.1 and 8.2, as opposed to an 8.1.6 or something, which would just be a bug fix release.
Angie: And every time we do one of these minor releases, we have the opportunity to add new APIs, to add new features and to change the way that Drupal works with the caveat that we always need to leave a backwards compatibility shim in there so that existing sites don’t stop working. All the way along, we’ve been improving Drupal 8 since its initial release. And so, we’ve added features, we’ve deprecated APIs, that kind of thing. So, when we get to Drupal 9, it was a lot of work. I don’t want to mitigate the word there or deprecate that word that the team has been doing because there’s like this whole burn-down chart of all the deprecated things that we needed to get through and all of these contributed modules that needed to update their stuff too.
Angie: But the effort was much lower than prepping for any other major release, because it really was just honing in on those deprecated things, the libraries that are no longer supported that we need to find alternatives for and making sure we’re on the latest versions of stuff and all this stuff works with it. And so, that’s the Delta between 8.9 and nine will be, I think it’s something like 12% reduction in code or something like that is what we managed to do, but otherwise they’re identical because they’re all using the same stuff.
Drew: Wow. It’s just like Drupal 8, but the shackles have come off.
Angie: Yes. That’s a great… I’m going to quote you on that. That’s great, I love it. Have you thought about joining our marketing agency team? No, I’m just kidding.
Drew: Historically, and Drupal is certainly not alone in this, but there has historically been quite a lot of pain in moving sites from old major versions to newer major versions of Drupal. It sounds like maybe with process of developing a Drupal 9 inside Drupal 8, maybe that has been resolved slightly. So, should moving from Drupal 8 to Drupal 9, actually be fairly straightforward?
Angie: That’s right. Yeah. I think there’s basically three scenarios, so one is if you were running Drupal 8 and every time a new minor release of Drupal 8 came out, you upgraded it to a right away and you started making use of the new stuff. Your path is going to be basically nothing like you’ve already been doing all the work and you’re fine. If you moved to Drupal 8 awhile back and you haven’t been keeping up with the BC changes, there is a little bit of work for you. It’s definitely the easiest upgrade in over a decade of our software anyway. And we have a ton of different tools to help you with it. There’s a dashboard that shows all of the contributed modules and what their Drupal 9 situation is, there’s automated tools for going through and checking your code and flagging any deprecated functions that you have.
Angie: And there’s tools for automatically, going up and finding, “Oh, this is the latest version of your module and it’s Drupal 9 ready? You should go download it,” that kind of stuff. From Drupal 8 to 9, I would say that that part’s pretty well covered. If you’re coming from a prior version of Drupal, say Drupal 7 or below to Drupal 9, that does start to look a little bit trickier, like among the changes that we made in Drupal 8, where for example, we moved entirely to object-oriented PHP and we started utilizing design patterns that were found in other software project, which is a really smart thing to do architecturally, but it does mean that if you had a ton of custom code in your old life, that in Drupal 9, you’re going to need to find alternatives for that.
Angie: Acquia is a product and development called Acquia migration accelerator which is aiming to solve that problem where we’re creating like a nice, react to find application, which reads in your old Drupal 7 data creates equivalent Drupal 8 data for you along with all the modules that you’re going to need that mapped to your old Drupal 7 modules where possible to try and expedite that process quite a bit because we want to make sure that everybody who’s on older versions can still make it over to the new world order where everyone’s on the same version and we’re all working together.
Angie: And then in addition, we’ve also extended the Drupal 7… The community like the opensource community of Drupal their end of life in Drupal 7 as of November of next year. Currently, anyway, we need to discuss whether COVID impacts that or not. But there’s a number of different companies and Acquia is one of them that offers extended support for Drupal 7 beyond that, to 2024 at least. And so, that makes it so that people who have an easy upgrade have a year and a half to get it done. People have a less easy upgrade, have potentially like three and a half years to get it done or longer if they need to. And we’re trying really hard to make it possible for everybody to move over and then building tools like Acquia migrate accelerator to help speed up the process.
Drew: I’m intrigued by the sound of this functionality to scan your code and find out if it’s going to be Drupal 9 compatible. Is that essentially a static analysis tool?
Angie: It is. Static analysis has its limitations. We’ve built a little bit… It’s a library called Rector PHP and you can use on any generic PHP code. It’s not specific to Drupal, but we’ve built a wrapper around it called Drupal Rector, which my understanding is that it adds a little bit of extra things where… There’s certain stuff that we know when something’s dynamically loaded up in the argument that it’s looking for might not be present at that wouldn’t be necessarily addressable, when it’s just in static codings reading dollar signs and stuff like that. And so, there’s been a little bit of extra wrappers to look for some of the most common issues that we find there. And the other cool thing I’m sorry, I got those two confused.
Angie: PHP scan is the thing that scans the code. Rector is the thing that can automatically apply changes to code. And so, we’ve been using those in tandem. PHP standard do the static analysis, plus a wrapper for some Drupal specific things to catch some of the dynamically loaded problems. And then rector is a thing that’s used to say, used to be Drupal_set_message of procedural function. And now it’s this arrow Drupal message or whatever it is and it automatically can make those changes for you so that you’re really only honing in on a couple of tricky your API bits that can’t be automated for you, but we have a dashboard on dev.acquia.com that goes through all of the contributed modules.
Angie: And I’m going to get the numbers wrong, but it was something like 50% of projects are either done already for Drupal 9, or they just need like one or two line changes that can be done with this automated tool. And then there’ll be good to go. The two of those tools together in tandem have been excellent. What I’d like to see is when we make API changes going forward in Drupal 9.1 and 9.2. and so on that we actually couple them with a rector room that will automatically fix them in modules going forward, because then we can cut this transition period down even further in future releases.
Drew: That sounds really smart. Is this something that users with Drupal 8 sites currently can start using in preparation for Drupal 9?
Angie: Yep, absolutely. We’ve been recommending people start doing this since beta, which was a couple of months ago. Yeah, there’s a couple of I don’t know if it’s the best to send you links or something like that, but there’s a project on drupal.org called upgrade status and that’s a nice jumping off point. That’s the thing that gets you the dashboard overview, it looks at all your modules tells you a red, yellow, green, whether or not it’s ready for Drupal 9 and can point you off to the tools that either can help upgrade your site for you or help you upgrade your own code in cases where you’ve extended Drupal beyond its normal capabilities.
Drew: So, say somebody listening to this has got a WordPress site, which they’ve built over the years. They’ve got maybe multiple themes and child themes, dozens of add-ons, it’s draining, it’s bursting at the seams, it’s beginning to sweat and they’re looking at Drupal, they’re thinking, “I like the sound of this. This sounds like it’s built for more of the project that I’ve got here.” What would the process of moving a site on something like WordPress over to Drupal look like?
Angie: One of the features of Drupal 8 is the migrate API, which is something we’re making use of an Acquia migrate accelerator as well. And the migrate API is generic. It doesn’t care what you’re moving to or from, we happen to use it to move from Drupal 7 to Drupal 9, but you could also use it to move from WordPress to Drupal or from Drupal to WordPress for that matter. Please don’t but you could. There are a bunch of plugins for the migrate system and one of them does add WordPress specific knowledge to the migrate system. And so, it sets up WordPress as a source, Drupal as a destination, and it moves things over there. That worked for the data of your site, the actual functionality of your site, you’d have to do some research to figure out if you say I was using this plugin and WordPress that maps to this module in Drupal.
Angie: One future plan we have for Acquia migrate accelerator actually is, once we got the seven to nine problem leaked to try and open it up so we can move people from anything to Drupal because it’s the same basic problem where you’re doing a major upgrade from an external system to another external system. There’s no reason we couldn’t theoretically throw in WordPress, Adobe experience manager, Sycor those kinds of things into this as well and work on migration tools for those because yeah, the more on the Drupal boat, the merrier.
Drew: Drupal has been a project for nearly 20 years at this point, it’s obviously got a healthy ecosystem loads of committers, loads of support. It’s got companies built around it. But obviously a project this big has to keep evolving and keep bringing in new blood. Are there any initiatives to bring new developers into the Drupal family?
Angie: There is. There’s a couple of those. I would say the one that I’m the most excited about that is very ambitious and so we didn’t get it done in Drupal 8, but we’re calling it, the admin UI initiative would be probably need to split that up into several smaller initiatives, but effectively it’s an initiative to modernize the JavaScript of Drupal. And that means a number of different things. Number one, we’re using jQuery because that was the hottest thing back in 2006 or whenever we made that decision. And moving it more to like generic ES 6 or I don’t even know, I’m sorry, I’m not a JavaScript person, so I don’t know what there is to list there, but whatever the latest ECMAScript is, we’d be using that.
Angie: But it also means, drilling down… Drupal 8 in particular already went a long way to making Drupal really accessible for decoupled builds. Having a JSON:API output, there’s a distribution called Contenta that is get you up and running on a Drupal site, catered to headless, if that’s what you want. There’s a bunch of stuff in that area, but I would love to do even more. Knowing that that is more or less a best practice now, it’s like, sort of build this decoupled front end to a backend and really honed Drupal for that purpose.
Angie: I think that’s part of the JavaScript modernization. And then the other part is a lot of our admin experience tools are still in that PHP client server model, or like a person who clicks a button, there’s a request to the server or something churns, and then you get output. I would love to bring in more of the dynamic instant feedback, that react view angular, some of those libraries make possible. I would love to get some of that in the actual admin interface, both just so the code interface looks nice, but also because if we could develop a set of components, say react components or something like that.
Angie: All of the Drupal modules that plug into Drupal could also make use of those. And it wouldn’t be like reinventing the wheel every time. I think that’s going to be a major focus for Drupal 9 is modernizing the JavaScript and the whole overall developer experience of Drupal for JavaScript developers. And then in addition to that, we’re also trying to minimize the amount of work that people who are developers and already know Drupal have to do through the automatic updates initiative is another big one that I’m excited about where right now, if you want to update your modules, that’s pretty straightforward, but updating core requires some manual work.
Angie: And we would like to get rid of that so that everybody can stay on the most secure version and that kind of thing. If it hasn’t come across, Drupal’s very concerned about security. We run some major governments in the world. We are running the Grammy’s or whatever. A lot of people depend on Drupal for being rock solid. And so, we spend a lot of time being very concerned about the security of the software, making sure the security team is responsive, not only to core issues, but anything that happens in our contributed module space. We take a lot of care about accessibility. We make sure that any change that goes into core goes through a series of gates and make sure that it’s WK compatible and uses the correct Aria attributes and all that kind of stuff.
Angie: We really have spent a lot of time making sure that things are good. And now I think the next phase of things where he’s going to be opening up all of that effort that we’ve put in to make it more accessible to more people.
Drew: It sounds like Drupal takes longterm support very seriously.
Angie: That’s correct.
Drew: How do you balance having a modern code base, you mentioned updating the style of JavaScript using having something that’s attractive to developers yet still having something that’s stable and isn’t following fads, isn’t bringing in dependencies that are going to quickly go away, that you can rely on and it’s going to be a bit boring and keep running and be supportable?
Angie: That is a fair question. I think a couple of different ways. As I mentioned, Drupal is very modular. One thing that has led to success in the past, so JSON:API is a good example. There was a lot of contention about what format are we going to standardize on for Drupal itself to output. And we settled on JSON:API for a number of reasons. It’s an open protocol. It’s not backed by one particular company, blah, blah, blah. There’s a bunch of stuff. When we did that, we actually prototyped that in contrib first. We created a contributed module, which can iterate very fast and easily.
Angie: And we can even just say, “Oh, that didn’t work out, delete it.” We were able to innovate really fast out in sort of this contributed module space. We started there and saw that, “Hey, this thing has some legs. Like people are actually making use of it. They’re providing really great developer feedback. We’ve got Drupal people on the JSON:API spec writing team, like this is actually really good. Let’s bring that thing that we already know works into core.” And then we did so, but it’s still just a module. Let’s say that, next year XMLRPC comes back from the dead and that becomes the thing that everybody uses.
Angie: It’s still possible that we would just leave the JSON:API module in there. We would get a new XMLRPC module. We would enable that by default, but still leave the old thing in there. And then when Drupal 10 came out, we’d take the old JSON:API module, move it back to contrib and people could still use it. But what shifts in the core software itself would just be following the latest trends. This way we get the best of all worlds because we’re able to innovate quickly. We’re able to make the best decisions possible for what the default Drupal user experience will be and developer experience. But then we’re also able to backtrack on decisions if necessary to do different things instead.
Angie: I think what would be get really tricky would be like, if we wanted to throw out the entire theme system and replace it with angular, for example, that would be hard. It’s really hard to make… All of the modules have to write four different ways that they could do their templates and that kind of stuff. That one, we would need to think through more, but that general approach of figuring out a way to plug into the system, leaving the old way in there as a crutch for the people who still need it. And then when we retire things, we retire them gracefully, so they’re still available to people, but just not part of the core product, I think that’s generally how this goes.
Drew: And I guess it’s that continuing process that’s brought you to this point where you’ve got Drupal 8 with all the backwards compatibility, I’ll call it baggage, baggage that you’re now shedding and moving forward with Drupal 9.
Angie: That’s right. Yep. And we’ll do it again in Drupal 10.
Drew: It sounds like a very important release for Drupal. Is there anything else we should know about it? And when is it landing?
Angie: It lands on June 3rd. You heard it here first, or maybe you didn’t hear it here first. We’re going to be doing some kind of like… It’s a little sad that it’s happening during COVID times because when Drupal 7 and eight came out, for example, were user groups all over the world doing like Drupal parties with cakes and all this kind of stuff. And so, we’re going to try and do a virtual version of that, but it won’t quite be the same. But what’s really cute is people bake little Drupal cupcakes and stuff like that, or showing the Drupal can on the side of a building or these kinds of things. And so, it’s a really creative and innovative community, so I’m sure they’ll figure it out some of the cool stuff.
Angie: But no, in terms of things to cover, I think we covered a lot of it, I think, if you’ve looked at Drupal before and held your nose at it, I would say, please give it another look. We’ve done a lot of work and over the past years to really, really hone in on that user feedback, really hone in on the usability piece, make it much easier for marketers. And also much easier to maintain for developers too. We have done that and we’ve managed to do those feature changes without horribly breaking things for the Drupal 8 people because we kept the backwards compatibility stuff in place. But it means if you haven’t looked at Drupal, even in five years has changed significantly as well because we’ve kept adding features, including API headless stuff, workflow, layout builder, all this kind of stuff.
Angie: And I’d say it’s a great way to build, it’s future-proof, there’s structured data under the hood, so you can… Whatever the new front end trend that ends up being you’re well positioned to jump on that. It’s got a great community full of awesome people. I hang out at open-source communities a lot and some of them are like, “Oh, you don’t know about blah, blah, blah?” Well, whatever, kind of thing. And Drupal is more like, “Oh, you don’t know about blah, blah, blah? Well, let me tell you about it because it’s awesome.” It’s just like a really welcoming cool community, I think, because we come from all different backgrounds and we’re just here to make the web rock.
Angie: So, yeah. Anyway, I hope something in there was helpful. And thank you very much for the opportunity to speak with you.
Drew: It would be remiss of me not to ask you about your involvement in open-source more generally, and especially the hurdles that are very real for getting more women to participate in open source. That’s something that you’re very passionate about, isn’t it?
Angie: Yeah. My background is, I was an open-source zealot back when I was even a teenager, I heard about opensource. I was like, “That is so cool. Everything should be open source.” But I always had this vision that you had to be a genius to work on open source because the people who were big names and open source back then was like Linus Torvalds and Eric S. Raymond and I don’t know. For some reason they carry this glow of like, “Oh, those guys are so smart.”
Angie: And so, I was self taught, I was going to community college at the time. And so, I just figured out this is not for me. But then Google announced a program called Google Summer of Code, which was where you get paid over the summer to work on an opensource project. And I was like, “Well, that’s really interesting because if they know we’re students, they know we don’t know everything yet. Maybe I’ll and just see what happens.” And I picked Drupal because I’m one of those people that just use source on every website I visit, just because I’m curious about what’s happening. And back in the day, there was a website called Spread Firefox that was built on Drupal. And it was really interesting. It was basically the community site where anyone could upload like a Firefox installed Fest or event having their campus, or they could upload a poster that they made or like whatever.
Angie: And I was just like, “That’s really neat. That’s cool. I’ll just file that away for later.” Because I long since given up using actual CMSs because I use PHP nuke and I was like, “No, I’m never doing anything like it. My cat could write better code than this anyway, I’m sorry. Sorry, PHB nuke.” But anyway, I had filed that away and I saw Drupal on listers and I was like, “All right, sure. I’ll give it a go.” And then it was amazing because from this side of things, once I got in the community and was actually contributing, I realized like, “Wow. A, first of all, the people that I thought knew all these things don’t actually know that much. You know what I mean?” They do. But like everyone has strengths and weaknesses. And what I saw happening was there’s people who are really good at certain aspects of the code.
Angie: People who are really good at documentation, people who are good at design. People who are good at explaining things to people, whatever, all of these people collaborating on these changes and all contributing the little bit that they know. And I was like, “Man, if I had known that like 10 years earlier, I would have gotten hit on this, I could have had a whole decade of software experience by now.” And so, I made it my mission to try and break down that barrier, particularly for women because women are socialized from a very young age to not get into tech, to begin with. And then once they get into tech, there’s a lot of like, “Oh my God, it’s a girl,” kind of thing. And it’s just like, if you’re in tech, you’re already dealing with a certain amount of crap.
Angie: And it’s like, why don’t we cut the crap and show people how awesome this is. I love talking to anybody who wants to get involved in open source, but particularly the women because I ran a group called Drupal Chicks for a few years there, which was women in Drupal to get together and talk. And the meetings were so funny because a girl would be like, “Well, I’m not a developer but,” and then she’d go on to like describe all this complex CSS stuff that she does or whatever. And I’m like, “You know that’s development, right?” I see women in particular though, everybody can struggle with this, but women in particular struggling with that feeling that even if I’m a perfectly capable person, that I’m just not as good as everyone else and so yeah.
Angie: I tried really hard to break down that barrier. I also tried to break down the… For my own self like people go, “Who Is Web Chick?” And I’m like, “No, I’m just like a moron.” I was like, “I did the stupid thing last week.” It was hilarious. And just to kind of break down that rockstar idolatry stuff, because we’re all just humans and we’re all just here trying to make it work and yeah. I am passionate about it because I just feel like if there’s someone out there who genuinely loves open source and the ethos of open source and the idea of it, that they shouldn’t be held back just because they think they’re not as good as other people because I can tell you right now, you’re good enough and you should just do it.
Drew: That’s so, so important. I’ve been learning about Drupal 9. What have you been learning about lately, Angie?
Angie: At the beginning of the whole pandemic thing, a friend of mine who teaches guitar, posted like, “Crap, my music school closed. Does anybody want to do Zoom lessons?” And I was like, “Yeah, I have a guitar. Just been hanging out here.” And just because I collect musical instruments just in case of the off chance my daughter wants to get into music. I’m like, “Great, I have all the things.” But I have no idea how to play it. I play drums. And so, I was like, “Sure, I’ll try that.” Actually, for the past two months I’ve been taking guitar lessons online from a friend of mine and I’m learning like take it easy by the eagles and stuff like that and a little bit of blues stuff and I’m so far very terrible, but I’m trying and it’s fun.
Angie: It’s just a completely different thing that it wouldn’t otherwise do. And yeah, it’s been really fun.
Drew: Incredible. If your dear listener would like to hear more from Angie. You can follow her on Twitter where she’s @Webchick, find her personal site at webchick.net. And of course, find out all about the current and upcoming versions of Drupal at drupal.org. Thanks for joining us today, Angie, do you have any parting words?
Angie: No, I’m really grateful to have the opportunity to speak with you. You’ve been around the block like, “Holy cow.” I was looking at your resume. It’s like, “Oh my gosh.” Speaking of people that are up on pedestals, but honestly, that’s amazing. I really appreciate the opportunity to talk with you, especially about the little open-source project that could. And hope that people take the chance to try it out.
(il)
Website Design & SEO Delray Beach by DBL07.co
Delray Beach SEO
source http://www.scpie.org/smashing-podcast-episode-17-with-angie-byron-whats-new-in-drupal-9/ source https://scpie.tumblr.com/post/619870156575981568
0 notes
scpie · 5 years ago
Text
Smashing Podcast Episode 17 With Angie Byron: What’s New In Drupal 9?
In this episode of the Smashing Podcast, we’re taking a look at what’s new in Drupal 9. What are the major upcoming changes to this nearly 20-year-old open-source project? Drew McLellan talks to Drupal core committer Angie Byron to find out.
In this episode of the Smashing Podcast, we’re taking a look at what’s new in Drupal 9. What are the major upcoming changes to this nearly 20-year-old open-source project? Drew McLellan talks to Drupal core committer Angie Byron to find out.
Show Notes
Weekly Update
Transcript
Drew McLellan: She is Senior Director of Product and Community Development at Acquia, a company you’ll know from their software and services built around the Drupal ecosystem. She’s been a Drupal core maintainer for nearly 12 years, as well as being an author for O’Reilly and an open-source evangelist who just lives and breathes Drupal. Joining us from near Vancouver, British Columbia. She’s passionate about getting new people, especially women into open source. We know she’s a longstanding Drupal expert, but did you know she once taught a dolphin to make marmalade? My smashing friends, please welcome Angie Byron.
Drew: Hi Angie. How are you?
Angie Byron: I’m smashing, Drew. How are you?
Drew: I’m very good. Thank you. I wanted to talk to you today about something we’ve certainly not covered on the podcast before. And I’ve rarely actually touched on Smashing Magazine articles over the years, despite it being a hugely popular open-source project with a massive community. And that of course is Drupal. Now, I’ve deliberately not described what Drupal is in my introduction because I feel like there could be a whole generation of web designers and developers who’ve never really come across it. And there are those who might think, that we know what Drupal is all about, but that could be based off of a view formed 10, 15, 20 years ago almost. What is Drupal as it stands today?
Angie: We call Drupal a content management framework. And what that means is it’s a generalized framework that you can use to make websites, you can use it to make mobile apps, you can use it to make just about anything you can imagine. But it’s very content structured, content based central system. It’s used to power one in 35 websites in the world. It’s out there and people use it. It’s been used a lot for government websites, media websites, just about everything that you can imagine. It’s even been used to power say, the princess cruise ship schedules and things like that. It’s used in a lot of different capacities.
Drew: How does it differ from other content management systems that people might have used in the past, such as WordPress or static publishing tools like Hugo and Jekyll?
Angie: I like to say that if you know what you want is a blog or another thing that WordPress is really good at, WordPress is a great choice. Similarly, if you know that you need some highly customized software that can only work with one particular backend system or things like that, a custom CMF framework like Symfony or something might be a better choice. Drupal is great because it spans both. It has a user interface, so you can create content just by clicking and filling out forms. And you can extend it with its API, but it’s built to actually allow you to do a tremendously amount of powerful stuff just by being in your browser, clicking around forms and buttons.
Angie: I use it a lot because I often have customers who don’t really know what they want. And so, they think that they want to blog and then it turns out that, “Oh, but we also want an ecommerce component with this blog. Oh, and we also need like a forum with five star ratings and reviews and these kinds of things.” And with Drupal, that’s just a check boxes to start adding new functionality like that versus with WordPress, it might mean, putting a couple of different solutions together that you then have to integrate. And with custom code, that’s obviously custom codes what’s going to be a lot of work for you.
Angie: Drupal has a whole library of contributed modules. There are something like 10,000 to 12,000 of these add-on modules that can do additional features. And then out of the box, especially if you haven’t used Drupal in 20 years, Drupal is actually a really full featured CMS these days as well, where it shifts with media layout support, all kinds of different things.
Drew: You briefly mentioned some projects before that are using Drupal. What is the ideal project where somebody would reach for it over something else? Where does Drupal really excel?
Angie: I would say that Drupal is great if you have, let’s say a website or a web presence where there’s a lot of different sub-components and you all want them to maintain a consistent look and feel. Universities use it a lot, for example, because they want to have the consistent university branding across all of the different sub sites. However, they also want to give individual departments freedom to set up their own, say content types. So, say the art department might want to track artists and musicians and things like that. And tying those to works that they’ve produced versus the IT department might want to be contracting like these are the different people we do IT internships for, and these are the different people that work for them.
Angie: And Drupal allows you to model all of that content together and create a dynamic views of it and forms that you can just click together out of the box.
Drew: One of the reasons I wanted to chat to you about Drupal at this point in time is that there’s a major release around the corner. Isn’t there?
Angie: There is. Next, well, I don’t know when this will go out, but it’s June 3rd. So, currently a week from today.
Drew: And that’s Drupal 9.
Angie: That’s correct.
Drew: Now, a big new version of a mature software product always brings with it, big new features. Doesn’t it? What are the headline changes that someone would really notice about Drupal 9?
Angie: If you’re using Drupal 8 currently, the big news for you is that Drupal 9 is really not much has changed. And that’s a big deal for our community because in the past, when you want to move from say six to seven or seven to eight, it was a, I wouldn’t call it a harrowing process, but you could call it something like that where we used to have a philosophy that we’re going to break your code and not your data. We would always be on the cutting edge of the latest things and any major version upgrade would come with it. The needs, support modules and the underlying code with Drupal, and you’d always get the latest, greatest stuff, but it would come at an expensive, costly upgrade process.
Angie: From Drupal 8 to nine, what we’ve been doing is building Drupal 9 in Drupal 8 effectively. And so, Drupal 8, the whole way along has gotten the new APIs, the new features, all these kinds of things in a backwards compatible way. What Drupal 9 is going to do is cut out the backwards compatible stuff and put us all on the latest version of say, Symfony, PHP, MySQL all the newest stuff there so that we have security support for those things for the next three to five years to come. From eight to nine, not much, if you last looked at Drupal though from say Drupal 7, a tremendous amount has changed, because you not only get the innovations that have into Drupal 8, things like mobile experience, out of the box configuration, management, the views module, which allows you to dynamically assemble lists of things available out of the box.
Angie: But you also get the features that have come within the Drupal 8 cycles. Those are things like a media library, workflow management, layout building capabilities, better automated testing and all kinds of other things.
Drew: One aspect I am particularly interested in because there’s something that’s either lacking or patched on messily to many content management systems, is this concept of structured data. What do we mean when we say structured content? And what does Drupal 9 bring us in that regard?
Angie: Structured content is a really fascinating concept and it’s been built into Drupal from the early days. In a CMS like WordPress or Squarespace, something like that, you would say, I want to download the photo gallery feature and I’m going to enable the photo gallery feature, I’m going to get the photo gallery as the person who created it, envisioned it. In Drupal, you go at it a different way. What you do is you create your photo gallery feature from base components. And what I mean by that is you will create a content type called photo. You will add an image field to it for the picture. You will add maybe a caption field, you’ll maybe have attributes to the image and all these other tenets, number fields for the attributes, or sorry for the heightened width text fields for the old attributes, there’s many different kinds of things you can do.
Angie: And then you’ll create a view of photos and you can choose if that photo view is, say it lays everything out in a six by nine grid, or maybe it does it in two columns or whatever, and you can have full customizability over how, and in what way it’s produced. Structured content is interesting because not only can you make your website look like how you want it, but because the content is structured in a generic way through entities and fields, you can also say, for example, create a decoupled react application that talks to Drupal as a backend.
Angie: And have full control over how that’s done, and then take the same backend, make it your website, the same backend make it say a kiosk in the mall where people can select different items. A lot of people make use of Drupal as this general content store that can then be talked to by anything. And the way we can do that is because all the data that the CMS manages is abstracted. It’s not built into the presentation layer. If you use a Wiziwig editor to answer in your content, you’re going to get the images embedded in the body field, and that’s never any good if you want to then take part that body field and display it in a sidebar block.
Angie: Drupal by structuring everything into discrete fields and entities on the backend, makes it so the concept can be mixed and matched really easy.
Drew: That means you could use a Drupal as a headless CMS essentially?
Angie: Yeah.
Drew: That’s pretty much what you’re describing there, isn’t it?
Angie: Yes, absolutely.
Drew: If you’re working in the Jamstack say, or you’ve got a single page app, or you’re building mobile apps or have other less conventional ways of consuming content, you could use Drupal as a content management system just to literally manage the content and then to expose it to those other things via an API or something like JSON.
Angie: Exactly. Yep. JSON:API support is built in and this comes with its… everything about Drupal is modular. If you don’t want the theme layer, you don’t need to have it. Theme layer is what we call like the HTML presentation layer that’s generally generated by PHP. But you can throw that out and say, “I just want JSON:API output of all of my content.” You also get certain features that are built into Drupal built into your app. For example, Drupal has a really robust users, permissions and roles system. You can set up different roles with discrete permissions to do different things on the site or see different pages on the site even.
Angie: And those things will be respected by Drupal and will be enforced by Drupal so that by the time someone actually loads the application at a certain URL, you know that the person who is there is meant to have access to it. It’s really interesting. It’s a cool product to work on because, on the one end, it’s a product made by developers for developers. We started building it because we wanted an easier way to… We didn’t want to have to get called by somebody to change the copyright field at the bottom of the page every year or whatever.
Angie: We just make a box so that they can fill it out. But it’s also a tool made for a carving out a whole new area of people, which is like site builders. They’re like technical, but not necessarily know how to write all the backend code, but they know for example, how to click together these different concepts in order to make these really powerful sites. And so, at any point, when you’re developing a feature such as a media library, you have to not only think about how do we make this really easy to use for a marketer or a content author persona, who’s going to use it every day, but also how do we make it infinitely extensible from the developer side, how do we make sure we have automated tests that cover everything?
Angie: How do we make sure that the output is accessible so it can be translated by screen readers? And all these kinds of considerations. So, Drupal’s really interesting and kind of stands out in its field in that a lot of times you have to pick between a really easy to use front end that doesn’t have decoupled content or a very technical decoupled content thing that you need a fleet of JavaScript developers to work on. And Drupal sits in a middle and a sweet spot where it can be both.
Drew: Because Drupal is essentially traditionally a themed CMS, isn’t it? If you’re looking to build a site, a more traditional site where you’re using a theme to output HTML pages, CSS, a nice responsive web design is going serve your mobile devices, desktop devices, and so on. What templating capabilities would you be looking at in Drupal? What have you got available to use?
Angie: Drupal uses a Symfony library called Twig, and it’s effectively HTML templates with little special characters to do branching, basic branching logic, print variables, that kind of thing. That’s a default output that Drupal does. You have a callback that generates the output and that’s stored into an array. The array is passed to whichever output layer. It could be JSON:API, as I mentioned before, and just put big drop of JSON, or it could be passed to the theme layer, which will then translate those arrays into, this is the header, this is that and it’ll print it into the CSS and HTML variables like that. I don’t know if that answered your question though. Sorry.
Drew: No, you did.
Angie: Okay, great.
Drew: I think last time I used Drupal, it was using maybe Smarty. Is that right?
Angie: Oh, Smarty, yeah. Well, that’s like Drupal 6 days.
Drew: Yeah, it’s Drupal 6 or Drupal 5 even.
Angie: Yeah. Oh, that’s fantastic. Twig is a similar concept to Smarty, but the nice thing about Twig is it better enforces the separation between your business logic and your presentation logic. Twig is not really, you can do it, but it’s not set up as a best practice for you to sit there and start putting a whole bunch of functions and objects and classes and all that stuff in your actual HTML files. Your HTML files, more or less stay HTML files with just the little special placeholders in them. And then your business logical happens behind the scenes in a module or in a pre-process function or something like that.
Drew: That separation actually makes things a little bit more straightforward and safer for developers who aren’t so used to working in the backend world maybe be even more comfortable with doing front end development, but a lot of the hard logic is separated from the HTML and CSS?
Angie: That’s right. And the other thing that you get as a benefit out of that is Twig is really good about auto XSS vulnerability escaping. A common thing that can happen when you’re writing your own theme from scratch is you start printing variables directly. And then someone creates a username like ‘Little Bobby Tables or whatever, that kind of thing and messes your whole site up. Twig is great because it has auto escaping of variables like that. As long as you’re sticking to the APIs and you’re using them directly, you won’t accidentally introduce either a JavaScript or SQL vulnerability in your site just by trying to make your theme look nice.
Drew: And in terms of the content authoring experience, I know a lot of people in the web design industry have seen some of their business go away, particularly at the lower end to these extremely user friendly services, things like Squarespace. How does Drupal compete with that authoring experience that people get from these very polished and sleek services?
Angie: I will say we’ve come a long way. We’re definitely not at a Squarespace level. I’ll just say that flat out. Squarespace has the advantage where they are not building structured content in that round or they’re building pages. And so, the pages are self contained and they can have full control over the HTML in there and use nice front end tools to get at them. Drupal by nature being structured content, I mentioned the benefits are that the content could be mixed and matched. It’s easy to output the content of variety of different fashions. But the disadvantage is that, our front end tools are not, they respect that structured content nature. So, you don’t see like a take over the page in place editing experience with Drupal as it stands.
Angie: However, I will say that there’s a bunch of people doing a lot of work. And so, core itself shifts with in place editing, which is the ability to click on a field and edit it right in place without having to go to the backend. There’s also the settings tray, which if you want to make a quick configuration change to say the site name or the location of a block or something like that, that’s built in there. The layout builder has some drag and drop capabilities in there as well. We’ve really made a concerted effort to improve the content authoring experience in Drupal. We did user testing back in, we started in 2008, Drupal is an old project that you mentioned it’s been around awhile, but we started in 2008 and 2012, 2015.
Angie: We keep doing these every few years, we sit down and the University of Minnesota has helped us with this. We sit down and we go to a real life usability lab with one way glass and eye tracking the whole thing. And through that process really saw that while the backend of Drupal is amazing and people love it because it’s flexible, it’s well documented, it’s architected amazingly, all these kinds of things. People really did struggle with the front end. I made it my personal mission. I know that Dree has made it his personal mission, the project lead, as well as the community as a whole to really bring that quality of Drupal to the front end as well.
Angie: And so, we’ve added a whole bunch of capabilities since then, like a backend admin theme. Some of these content author friendly features like workflows, media, that kind of stuff, and putting it first and foremost in people’s hands so that they don’t have to hand write HTML tags or this kind of thing, which was like the case many years ago.
Drew: One of the things that often attracts developers to simple publishing systems rather than the full stack CMSs is this concept of having everything managed in a gate repo. So, the changes to a life site can be atomically deployed and that gate repo is a single source of truth for the project. You don’t have multiple copies of a database representing different versions of a system gets around this issue of developing a new site feature in one environment, and then trying to figure out how to build that up and deploy it to the live environment, which goals may have changed since they started working on the feature. Does Drupal offer any way to manage that particularly difficult process?
Angie: Yes, starting with Drupal 7, in fact, we had a concept called the features module and what features were, where the ability to combine both module functionality as well as configuration changes and deploy those as one chunk of logical code between environments. In Drupal 8 and nine, we’ve improved upon that ability by building it right into the core system. There’s something called the configuration management system. And what it does is every bit of configuration that you do. For example, what is my site name called, what’s the email template that I’m making, these kinds of things. All get stored into a centralized system and that system has everything else and Drupal is infinitely flexible.
Angie: It can be exported as YAML files, for example, that can just be migrated back and forth between environments. And then it’s really easy to also do a get, diff and find out, “Oh, okay. There’s been changes between the last time that I saw that and I can look them over and make sure they look okay, great import them in.” And there’s both gooey tools for doing that as well as command line tools for doing that because again, Drupal’s always trying to serve both of those audiences.
Drew: There’s always this great opportunity when you make a new major version of a mature software project to deprecate and remove pieces that have had their day maybe features that never caught on in the way that you hope they would and to resolve tech debt and that sort of thing. What changes have been made in Drupal 9 in terms of cleaning house?
Angie: Yeah, we did take the major version bump as an opportunity to really clean house. What we’ve been doing throughout the Drupal 8 cycle is envisioning new ways of doing things. Better, clearer APIs, for example, managing entities or configuration or that kind of thing, or like a more modern JavaScript library for handling drag and drop or that kind of stuff. And during Drupal 8, what we did is we left all the old stuff in place because we didn’t want to break anyone’s site between 2015 and today. But Drupal 9 gave us the opportunity to say, “Okay, as we went along the way, we just marked all these things as like at deprecated.”
Angie: And so, we could find them later and be like, “That’s the stuff we need to clean up.” And so, Drupal 9 went through wholesale and got rid of all of the deprecated functionality. And then there’s a Drupal 8.9 version that’s coming out at the same time as Drupal 9, which has all the BC layers in there, but it’s fully compatible with Drupal 9 to give people a release to move everything up to where it needs to be. But yeah, among the things we did was we updated to the latest versions of all of our dependencies. We have a bunch of JavaScript dependency, some PHP dependencies.
Angie: Those are all on the latest sort of LTS releases. So, we stay on that for a long time. We also took the opportunity to raise the system requirements, which I know people are like, “Oh my God, why my Eskimo 5.7.” But the advantage is that a lot of these older versions of PHP, particularly at PHP 5, there has still hanging around, haven’t been security supported in ages. And so, we’re trying to make sure that our users that are on Drupal 9 are staying secure, not only today, but going forward into the future. We’ve updated those and then we’ve gotten rid of any deprecated APIs that we’ve created along the way. When you start a site with Drupal 9, you’re starting with a fresh slate, no deprecated code on the latest stuff and should serve you for many years to come.
Drew: That sounds like quite a complex development workflow. The fact that you’ve been working on a Drupal 9 compatible version of Drupal 8 and working on Drupal 9 at the same time, getting them ready to release together. How did that work in practice?
Angie: Yeah, it’s worked well because we effectively write Drupal 9 in Drupal 8 over the past five years, starting at Drupal 8, we use a concept called semantic versioning. In the past, when we released Drupal 7, for example, we just left it alone more or less, except for a few bug fixes and maybe keeping it up-to date with the latest versions of PHP that come out and that sort of thing. With Drupal 8, we made the shift to semantic versioning. And what that means is that every six months, we have what’s called a minor release of Drupal and that’d be like an 8.1 and 8.2, as opposed to an 8.1.6 or something, which would just be a bug fix release.
Angie: And every time we do one of these minor releases, we have the opportunity to add new APIs, to add new features and to change the way that Drupal works with the caveat that we always need to leave a backwards compatibility shim in there so that existing sites don’t stop working. All the way along, we’ve been improving Drupal 8 since its initial release. And so, we’ve added features, we’ve deprecated APIs, that kind of thing. So, when we get to Drupal 9, it was a lot of work. I don’t want to mitigate the word there or deprecate that word that the team has been doing because there’s like this whole burn-down chart of all the deprecated things that we needed to get through and all of these contributed modules that needed to update their stuff too.
Angie: But the effort was much lower than prepping for any other major release, because it really was just honing in on those deprecated things, the libraries that are no longer supported that we need to find alternatives for and making sure we’re on the latest versions of stuff and all this stuff works with it. And so, that’s the Delta between 8.9 and nine will be, I think it’s something like 12% reduction in code or something like that is what we managed to do, but otherwise they’re identical because they’re all using the same stuff.
Drew: Wow. It’s just like Drupal 8, but the shackles have come off.
Angie: Yes. That’s a great… I’m going to quote you on that. That’s great, I love it. Have you thought about joining our marketing agency team? No, I’m just kidding.
Drew: Historically, and Drupal is certainly not alone in this, but there has historically been quite a lot of pain in moving sites from old major versions to newer major versions of Drupal. It sounds like maybe with process of developing a Drupal 9 inside Drupal 8, maybe that has been resolved slightly. So, should moving from Drupal 8 to Drupal 9, actually be fairly straightforward?
Angie: That’s right. Yeah. I think there’s basically three scenarios, so one is if you were running Drupal 8 and every time a new minor release of Drupal 8 came out, you upgraded it to a right away and you started making use of the new stuff. Your path is going to be basically nothing like you’ve already been doing all the work and you’re fine. If you moved to Drupal 8 awhile back and you haven’t been keeping up with the BC changes, there is a little bit of work for you. It’s definitely the easiest upgrade in over a decade of our software anyway. And we have a ton of different tools to help you with it. There’s a dashboard that shows all of the contributed modules and what their Drupal 9 situation is, there’s automated tools for going through and checking your code and flagging any deprecated functions that you have.
Angie: And there’s tools for automatically, going up and finding, “Oh, this is the latest version of your module and it’s Drupal 9 ready? You should go download it,” that kind of stuff. From Drupal 8 to 9, I would say that that part’s pretty well covered. If you’re coming from a prior version of Drupal, say Drupal 7 or below to Drupal 9, that does start to look a little bit trickier, like among the changes that we made in Drupal 8, where for example, we moved entirely to object-oriented PHP and we started utilizing design patterns that were found in other software project, which is a really smart thing to do architecturally, but it does mean that if you had a ton of custom code in your old life, that in Drupal 9, you’re going to need to find alternatives for that.
Angie: Acquia is a product and development called Acquia migration accelerator which is aiming to solve that problem where we’re creating like a nice, react to find application, which reads in your old Drupal 7 data creates equivalent Drupal 8 data for you along with all the modules that you’re going to need that mapped to your old Drupal 7 modules where possible to try and expedite that process quite a bit because we want to make sure that everybody who’s on older versions can still make it over to the new world order where everyone’s on the same version and we’re all working together.
Angie: And then in addition, we’ve also extended the Drupal 7… The community like the opensource community of Drupal their end of life in Drupal 7 as of November of next year. Currently, anyway, we need to discuss whether COVID impacts that or not. But there’s a number of different companies and Acquia is one of them that offers extended support for Drupal 7 beyond that, to 2024 at least. And so, that makes it so that people who have an easy upgrade have a year and a half to get it done. People have a less easy upgrade, have potentially like three and a half years to get it done or longer if they need to. And we’re trying really hard to make it possible for everybody to move over and then building tools like Acquia migrate accelerator to help speed up the process.
Drew: I’m intrigued by the sound of this functionality to scan your code and find out if it’s going to be Drupal 9 compatible. Is that essentially a static analysis tool?
Angie: It is. Static analysis has its limitations. We’ve built a little bit… It’s a library called Rector PHP and you can use on any generic PHP code. It’s not specific to Drupal, but we’ve built a wrapper around it called Drupal Rector, which my understanding is that it adds a little bit of extra things where… There’s certain stuff that we know when something’s dynamically loaded up in the argument that it’s looking for might not be present at that wouldn’t be necessarily addressable, when it’s just in static codings reading dollar signs and stuff like that. And so, there’s been a little bit of extra wrappers to look for some of the most common issues that we find there. And the other cool thing I’m sorry, I got those two confused.
Angie: PHP scan is the thing that scans the code. Rector is the thing that can automatically apply changes to code. And so, we’ve been using those in tandem. PHP standard do the static analysis, plus a wrapper for some Drupal specific things to catch some of the dynamically loaded problems. And then rector is a thing that’s used to say, used to be Drupal_set_message of procedural function. And now it’s this arrow Drupal message or whatever it is and it automatically can make those changes for you so that you’re really only honing in on a couple of tricky your API bits that can’t be automated for you, but we have a dashboard on dev.acquia.com that goes through all of the contributed modules.
Angie: And I’m going to get the numbers wrong, but it was something like 50% of projects are either done already for Drupal 9, or they just need like one or two line changes that can be done with this automated tool. And then there’ll be good to go. The two of those tools together in tandem have been excellent. What I’d like to see is when we make API changes going forward in Drupal 9.1 and 9.2. and so on that we actually couple them with a rector room that will automatically fix them in modules going forward, because then we can cut this transition period down even further in future releases.
Drew: That sounds really smart. Is this something that users with Drupal 8 sites currently can start using in preparation for Drupal 9?
Angie: Yep, absolutely. We’ve been recommending people start doing this since beta, which was a couple of months ago. Yeah, there’s a couple of I don’t know if it’s the best to send you links or something like that, but there’s a project on drupal.org called upgrade status and that’s a nice jumping off point. That’s the thing that gets you the dashboard overview, it looks at all your modules tells you a red, yellow, green, whether or not it’s ready for Drupal 9 and can point you off to the tools that either can help upgrade your site for you or help you upgrade your own code in cases where you’ve extended Drupal beyond its normal capabilities.
Drew: So, say somebody listening to this has got a WordPress site, which they’ve built over the years. They’ve got maybe multiple themes and child themes, dozens of add-ons, it’s draining, it’s bursting at the seams, it’s beginning to sweat and they’re looking at Drupal, they’re thinking, “I like the sound of this. This sounds like it’s built for more of the project that I’ve got here.” What would the process of moving a site on something like WordPress over to Drupal look like?
Angie: One of the features of Drupal 8 is the migrate API, which is something we’re making use of an Acquia migrate accelerator as well. And the migrate API is generic. It doesn’t care what you’re moving to or from, we happen to use it to move from Drupal 7 to Drupal 9, but you could also use it to move from WordPress to Drupal or from Drupal to WordPress for that matter. Please don’t but you could. There are a bunch of plugins for the migrate system and one of them does add WordPress specific knowledge to the migrate system. And so, it sets up WordPress as a source, Drupal as a destination, and it moves things over there. That worked for the data of your site, the actual functionality of your site, you’d have to do some research to figure out if you say I was using this plugin and WordPress that maps to this module in Drupal.
Angie: One future plan we have for Acquia migrate accelerator actually is, once we got the seven to nine problem leaked to try and open it up so we can move people from anything to Drupal because it’s the same basic problem where you’re doing a major upgrade from an external system to another external system. There’s no reason we couldn’t theoretically throw in WordPress, Adobe experience manager, Sycor those kinds of things into this as well and work on migration tools for those because yeah, the more on the Drupal boat, the merrier.
Drew: Drupal has been a project for nearly 20 years at this point, it’s obviously got a healthy ecosystem loads of committers, loads of support. It’s got companies built around it. But obviously a project this big has to keep evolving and keep bringing in new blood. Are there any initiatives to bring new developers into the Drupal family?
Angie: There is. There’s a couple of those. I would say the one that I’m the most excited about that is very ambitious and so we didn’t get it done in Drupal 8, but we’re calling it, the admin UI initiative would be probably need to split that up into several smaller initiatives, but effectively it’s an initiative to modernize the JavaScript of Drupal. And that means a number of different things. Number one, we’re using jQuery because that was the hottest thing back in 2006 or whenever we made that decision. And moving it more to like generic ES 6 or I don’t even know, I’m sorry, I’m not a JavaScript person, so I don’t know what there is to list there, but whatever the latest ECMAScript is, we’d be using that.
Angie: But it also means, drilling down… Drupal 8 in particular already went a long way to making Drupal really accessible for decoupled builds. Having a JSON:API output, there’s a distribution called Contenta that is get you up and running on a Drupal site, catered to headless, if that’s what you want. There’s a bunch of stuff in that area, but I would love to do even more. Knowing that that is more or less a best practice now, it’s like, sort of build this decoupled front end to a backend and really honed Drupal for that purpose.
Angie: I think that’s part of the JavaScript modernization. And then the other part is a lot of our admin experience tools are still in that PHP client server model, or like a person who clicks a button, there’s a request to the server or something churns, and then you get output. I would love to bring in more of the dynamic instant feedback, that react view angular, some of those libraries make possible. I would love to get some of that in the actual admin interface, both just so the code interface looks nice, but also because if we could develop a set of components, say react components or something like that.
Angie: All of the Drupal modules that plug into Drupal could also make use of those. And it wouldn’t be like reinventing the wheel every time. I think that’s going to be a major focus for Drupal 9 is modernizing the JavaScript and the whole overall developer experience of Drupal for JavaScript developers. And then in addition to that, we’re also trying to minimize the amount of work that people who are developers and already know Drupal have to do through the automatic updates initiative is another big one that I’m excited about where right now, if you want to update your modules, that’s pretty straightforward, but updating core requires some manual work.
Angie: And we would like to get rid of that so that everybody can stay on the most secure version and that kind of thing. If it hasn’t come across, Drupal’s very concerned about security. We run some major governments in the world. We are running the Grammy’s or whatever. A lot of people depend on Drupal for being rock solid. And so, we spend a lot of time being very concerned about the security of the software, making sure the security team is responsive, not only to core issues, but anything that happens in our contributed module space. We take a lot of care about accessibility. We make sure that any change that goes into core goes through a series of gates and make sure that it’s WK compatible and uses the correct Aria attributes and all that kind of stuff.
Angie: We really have spent a lot of time making sure that things are good. And now I think the next phase of things where he’s going to be opening up all of that effort that we’ve put in to make it more accessible to more people.
Drew: It sounds like Drupal takes longterm support very seriously.
Angie: That’s correct.
Drew: How do you balance having a modern code base, you mentioned updating the style of JavaScript using having something that’s attractive to developers yet still having something that’s stable and isn’t following fads, isn’t bringing in dependencies that are going to quickly go away, that you can rely on and it’s going to be a bit boring and keep running and be supportable?
Angie: That is a fair question. I think a couple of different ways. As I mentioned, Drupal is very modular. One thing that has led to success in the past, so JSON:API is a good example. There was a lot of contention about what format are we going to standardize on for Drupal itself to output. And we settled on JSON:API for a number of reasons. It’s an open protocol. It’s not backed by one particular company, blah, blah, blah. There’s a bunch of stuff. When we did that, we actually prototyped that in contrib first. We created a contributed module, which can iterate very fast and easily.
Angie: And we can even just say, “Oh, that didn’t work out, delete it.” We were able to innovate really fast out in sort of this contributed module space. We started there and saw that, “Hey, this thing has some legs. Like people are actually making use of it. They’re providing really great developer feedback. We’ve got Drupal people on the JSON:API spec writing team, like this is actually really good. Let’s bring that thing that we already know works into core.” And then we did so, but it’s still just a module. Let’s say that, next year XMLRPC comes back from the dead and that becomes the thing that everybody uses.
Angie: It’s still possible that we would just leave the JSON:API module in there. We would get a new XMLRPC module. We would enable that by default, but still leave the old thing in there. And then when Drupal 10 came out, we’d take the old JSON:API module, move it back to contrib and people could still use it. But what shifts in the core software itself would just be following the latest trends. This way we get the best of all worlds because we’re able to innovate quickly. We’re able to make the best decisions possible for what the default Drupal user experience will be and developer experience. But then we’re also able to backtrack on decisions if necessary to do different things instead.
Angie: I think what would be get really tricky would be like, if we wanted to throw out the entire theme system and replace it with angular, for example, that would be hard. It’s really hard to make… All of the modules have to write four different ways that they could do their templates and that kind of stuff. That one, we would need to think through more, but that general approach of figuring out a way to plug into the system, leaving the old way in there as a crutch for the people who still need it. And then when we retire things, we retire them gracefully, so they’re still available to people, but just not part of the core product, I think that’s generally how this goes.
Drew: And I guess it’s that continuing process that’s brought you to this point where you’ve got Drupal 8 with all the backwards compatibility, I’ll call it baggage, baggage that you’re now shedding and moving forward with Drupal 9.
Angie: That’s right. Yep. And we’ll do it again in Drupal 10.
Drew: It sounds like a very important release for Drupal. Is there anything else we should know about it? And when is it landing?
Angie: It lands on June 3rd. You heard it here first, or maybe you didn’t hear it here first. We’re going to be doing some kind of like… It’s a little sad that it’s happening during COVID times because when Drupal 7 and eight came out, for example, were user groups all over the world doing like Drupal parties with cakes and all this kind of stuff. And so, we’re going to try and do a virtual version of that, but it won’t quite be the same. But what’s really cute is people bake little Drupal cupcakes and stuff like that, or showing the Drupal can on the side of a building or these kinds of things. And so, it’s a really creative and innovative community, so I’m sure they’ll figure it out some of the cool stuff.
Angie: But no, in terms of things to cover, I think we covered a lot of it, I think, if you’ve looked at Drupal before and held your nose at it, I would say, please give it another look. We’ve done a lot of work and over the past years to really, really hone in on that user feedback, really hone in on the usability piece, make it much easier for marketers. And also much easier to maintain for developers too. We have done that and we’ve managed to do those feature changes without horribly breaking things for the Drupal 8 people because we kept the backwards compatibility stuff in place. But it means if you haven’t looked at Drupal, even in five years has changed significantly as well because we’ve kept adding features, including API headless stuff, workflow, layout builder, all this kind of stuff.
Angie: And I’d say it’s a great way to build, it’s future-proof, there’s structured data under the hood, so you can… Whatever the new front end trend that ends up being you’re well positioned to jump on that. It’s got a great community full of awesome people. I hang out at open-source communities a lot and some of them are like, “Oh, you don’t know about blah, blah, blah?” Well, whatever, kind of thing. And Drupal is more like, “Oh, you don’t know about blah, blah, blah? Well, let me tell you about it because it’s awesome.” It’s just like a really welcoming cool community, I think, because we come from all different backgrounds and we’re just here to make the web rock.
Angie: So, yeah. Anyway, I hope something in there was helpful. And thank you very much for the opportunity to speak with you.
Drew: It would be remiss of me not to ask you about your involvement in open-source more generally, and especially the hurdles that are very real for getting more women to participate in open source. That’s something that you’re very passionate about, isn’t it?
Angie: Yeah. My background is, I was an open-source zealot back when I was even a teenager, I heard about opensource. I was like, “That is so cool. Everything should be open source.” But I always had this vision that you had to be a genius to work on open source because the people who were big names and open source back then was like Linus Torvalds and Eric S. Raymond and I don’t know. For some reason they carry this glow of like, “Oh, those guys are so smart.”
Angie: And so, I was self taught, I was going to community college at the time. And so, I just figured out this is not for me. But then Google announced a program called Google Summer of Code, which was where you get paid over the summer to work on an opensource project. And I was like, “Well, that’s really interesting because if they know we’re students, they know we don’t know everything yet. Maybe I’ll and just see what happens.” And I picked Drupal because I’m one of those people that just use source on every website I visit, just because I’m curious about what’s happening. And back in the day, there was a website called Spread Firefox that was built on Drupal. And it was really interesting. It was basically the community site where anyone could upload like a Firefox installed Fest or event having their campus, or they could upload a poster that they made or like whatever.
Angie: And I was just like, “That’s really neat. That’s cool. I’ll just file that away for later.” Because I long since given up using actual CMSs because I use PHP nuke and I was like, “No, I’m never doing anything like it. My cat could write better code than this anyway, I’m sorry. Sorry, PHB nuke.” But anyway, I had filed that away and I saw Drupal on listers and I was like, “All right, sure. I’ll give it a go.” And then it was amazing because from this side of things, once I got in the community and was actually contributing, I realized like, “Wow. A, first of all, the people that I thought knew all these things don’t actually know that much. You know what I mean?” They do. But like everyone has strengths and weaknesses. And what I saw happening was there’s people who are really good at certain aspects of the code.
Angie: People who are really good at documentation, people who are good at design. People who are good at explaining things to people, whatever, all of these people collaborating on these changes and all contributing the little bit that they know. And I was like, “Man, if I had known that like 10 years earlier, I would have gotten hit on this, I could have had a whole decade of software experience by now.” And so, I made it my mission to try and break down that barrier, particularly for women because women are socialized from a very young age to not get into tech, to begin with. And then once they get into tech, there’s a lot of like, “Oh my God, it’s a girl,” kind of thing. And it’s just like, if you’re in tech, you’re already dealing with a certain amount of crap.
Angie: And it’s like, why don’t we cut the crap and show people how awesome this is. I love talking to anybody who wants to get involved in open source, but particularly the women because I ran a group called Drupal Chicks for a few years there, which was women in Drupal to get together and talk. And the meetings were so funny because a girl would be like, “Well, I’m not a developer but,” and then she’d go on to like describe all this complex CSS stuff that she does or whatever. And I’m like, “You know that’s development, right?” I see women in particular though, everybody can struggle with this, but women in particular struggling with that feeling that even if I’m a perfectly capable person, that I’m just not as good as everyone else and so yeah.
Angie: I tried really hard to break down that barrier. I also tried to break down the… For my own self like people go, “Who Is Web Chick?” And I’m like, “No, I’m just like a moron.” I was like, “I did the stupid thing last week.” It was hilarious. And just to kind of break down that rockstar idolatry stuff, because we’re all just humans and we’re all just here trying to make it work and yeah. I am passionate about it because I just feel like if there’s someone out there who genuinely loves open source and the ethos of open source and the idea of it, that they shouldn’t be held back just because they think they’re not as good as other people because I can tell you right now, you’re good enough and you should just do it.
Drew: That’s so, so important. I’ve been learning about Drupal 9. What have you been learning about lately, Angie?
Angie: At the beginning of the whole pandemic thing, a friend of mine who teaches guitar, posted like, “Crap, my music school closed. Does anybody want to do Zoom lessons?” And I was like, “Yeah, I have a guitar. Just been hanging out here.” And just because I collect musical instruments just in case of the off chance my daughter wants to get into music. I’m like, “Great, I have all the things.” But I have no idea how to play it. I play drums. And so, I was like, “Sure, I’ll try that.” Actually, for the past two months I’ve been taking guitar lessons online from a friend of mine and I’m learning like take it easy by the eagles and stuff like that and a little bit of blues stuff and I’m so far very terrible, but I’m trying and it’s fun.
Angie: It’s just a completely different thing that it wouldn’t otherwise do. And yeah, it’s been really fun.
Drew: Incredible. If your dear listener would like to hear more from Angie. You can follow her on Twitter where she’s @Webchick, find her personal site at webchick.net. And of course, find out all about the current and upcoming versions of Drupal at drupal.org. Thanks for joining us today, Angie, do you have any parting words?
Angie: No, I’m really grateful to have the opportunity to speak with you. You’ve been around the block like, “Holy cow.” I was looking at your resume. It’s like, “Oh my gosh.” Speaking of people that are up on pedestals, but honestly, that’s amazing. I really appreciate the opportunity to talk with you, especially about the little open-source project that could. And hope that people take the chance to try it out.
(il)
Website Design & SEO Delray Beach by DBL07.co
Delray Beach SEO
source http://www.scpie.org/smashing-podcast-episode-17-with-angie-byron-whats-new-in-drupal-9/
0 notes
xeliumtech-solutions-blog · 7 years ago
Text
Top 5 Reasons to Prefer PHP for Web Development Services
Tumblr media
PHP or Hypertext Preprocessor assists in creating dynamic site pages in open source server side scripting language. One noteworthy benefit of PHP is that it underpins all the noticeable web servers. Regardless of whether it's Apache or Microsoft IIS or Netscape and individual web server.
We should observe the main 5 motivations for web development company to decide PHP for web development:
Set with the propelled highlights: The most recent refresh on PHP 7.1.0 is getting propelled with different upgrades and changed highlights like:
Iterable pseudo-type
Nullable types
Void return types
Class Constant Visibility modifiers
Getting different special cases types
Square bracket syntax for list and the capacity to determine keys in list
These key components are of proficient tool for web development in the coming years.
Free and User-accommodating: Compared to all the programming languages, PHP is simple to learn and utilize. It is on account of the sentence structure of PHP depends on C and Perl languages. Being an open source web language, PHP is totally free of cost. A portion of the scripting languages charge the use of the codes. A large portion of the little and huge organizations are utilizing PHP for web development since it is an open source language and this pattern will proceed for the upcoming year as well.
All OS and Server similarity: PHP chips away at various stages like Linux, Unix, Windows, Mac OS X and so on and it is good with nearby servers, for example, Apache, IIS and so forth.
Numerous PHP structures: There are heaps of frameworks open in PHP today, for instance, Codelgniter , CakePHP, Zend, Magento, Joomla, PEAR, Laravel, Symfony and so forth. The openness of these different frameworks in PHP encourages us to quickly amass application and site that join a combination of different components. These structures moreover present security and speed to our application development process.
Highlights identified with PHP based frameworks:
MVC coding design: Today every one of the systems take after the MVC design. This example isolating the (information) Model from the Controller (which pulls information from the model to provide for the view) from the View (what the client sees). An all around created MVC framework lets a front-end developer and a back-end designer to work at the same time and on a typical framework with no of the gatherings interfering, share or alter the documents every one is dealing with.
Object Oriented Programming: Object-Oriented Programming is a programming approach that utilizes classes and protests. It streamlines the procedure of programming development and support with the assistance of its ideas, for example, Class, Object, Inheritance, Polymorphism, Abstraction, Encapsulation and so on.
The essential Object Oriented Programming usefulness was above all else included PHP 3 and it got enhanced in PHP 4, though PHP 5 presented private and ensured part factors and strategies, alongside unique classes, last classes, dynamic techniques and last. At introduce, every one of the highlights identified with OOP have been added to PHP, which has made it considerably further developed, intense and secured.
Security and Cross Platform: The predefined work set of PHP bolsters a few trusted information encryption alternatives. Hence, a great deal of outsider applications can be utilized to secure our information. Security being absolutely critical for any application, this is a basic ascribe with regards to settling on decision of the language for application development.
These and numerous more are the reasons why designers will keep on using PHP as the language of decision for a lion's share of utilizations worked in the upcoming year.
How to create mobile application (multi platfrom) for web based business and online retail space?
Developing Android Apps and iOS Apps with the assistance of Cordova and PhoneGap has been catching the market of mobile application development for at times now. The mobile application developers have the benefit of utilizing their current HTML, JS and CSS abilities to create cross-platform applications mobile application for iOS and Android, alongside utilizing alternate platforms. Actualizing Cordova and PhoneGap has an extraordinary advantage, which incorporates refreshing the current codebase for a solitary time and utilizing it for every one of the stages, rather than making a different code for every platform.
0 notes
betacompression-blog · 8 years ago
Text
5 Trending PHP Frameworks To Develop Robust Websites
New Post has been published on http://www.betacompression.com/5-php-frameworks-develop-robust-websites/
5 Trending PHP Frameworks To Develop Robust Websites
Before I start discussing the best frameworks that can be used to build a robust website, let us know what PHP is? PHP is prominently chosen for being the best & simple server-side scripting language. PHP frameworks were developed to support the developers with numerous built-in modules & a structure to make development process smooth & make it feel like breeze.
Frameworks improved the reliability & consistency with time savvy development. Moreover, frameworks also play an important role in making the feature enhancement tasks easy. Developers are ought to follow coding standards & guidelines for clean & commented coding which leads to stabilize the development process.
PHP frameworks are backed up with MVC architecture which keeps all the parts of development process independent of each other. That is, business logic, presentation logic & database logic all are handled & programmed independently. This helps ease the development as the business logic developer need not concern about the development of presentation & vice versa.
It helps the developer to focus on specific modules without worrying about other modules getting affected. This architecture not just brings focus & simplicity but also reduces development time.
Moreover, it brings stability & improves the quality of the final product.
Read Also: How Chat Bots Will Change the Future of Web Development?
Advantages of using frameworks:
1. Supports Rapid Application Development 2. Simple & Easy upgrade 3. Better Maintenance 4. Community Support 5. Security Features 6. Time savvy 7. Flexible scalability
Coming to the frameworks I have taken top 5 in-trend frameworks of PHP that can be used to develop a robust website in PHP. And the report is generated from Google Trends which depicts these trending PHP frameworks in past 12 months.
Google Trends Report
As you can see I have taken 5 frameworks to compare their demand & trends in past 12 months. Check out the list of Frameworks that can be used to develop a robust website in PHP:
1. Zend PHP Framework 2. Laravel PHP Framework 3. Symfony PHP Framework 4. CakePHP PHP Framework 5. Yii PHP Framework
Clearly, we can see that Zend Framework is in trend in last six months & stands above all the frameworks which we are going to discuss here.
Zend Framework
Zend Framework was launched in 2006 & licensed by New BSD. It is a collection of PHP packages used by developers to ease the development. Zend became so popular and reliable that developers & users installed it more than more than 176 million times. To develop web apps & services you will need to use PHP 5.6+ and it serves a 100% object-oriented code using an extensive set of language features.
The main features of Zend Framework are that it has a package dependency manager referred to as the Composer. In order to perform package testing, Zend has a PHPUnit and for Continuous Integration service, Zend has Travis CI. Like each framework has coding standards & guidelines Zend follows PHP-FIG standards, and for HTTP message interfaces Zend has an implementation of PSR-7.
Zend Framework 3 has evolved from Zend Framework 2 and Zend Framework 1; progressively which runs on PHP 7. The previous versions of Zend Framework witnessed around 15 million downloads. Zend, a Rogue Wave company is the main sponsor of Zend Framework. Apart from Zend, many others have contributed for features and components of this framework. Big brands such as Microsoft, Google and StrikeIron have partnered with Zend.
Read Also: Efficiency of Virtual Reality Application – Learn From Experts
Zend’s prominent projects:
1. BBC 2. BNO PARIBAS 3. Cisci Webex
Zend Framework supports many features such as end-to-end encryption, package dependency manager & continuous integration service.
Laravel Framework
Laravel was first launched in 2011 and till 2015, according to Sitepoint’s survey Laravel framework was on top among the PHP frameworks existed then. No doubt, Laravel got all attention & support very quick but with time we can see Zend & Symfony has survived and maintained its position among the PHP developers.
With the Launch of Laravel 5.5 which got released on August 30, 2017, I being a PHP Developer got inclined a bit towards Laravel Framework. As it is more stable and has been released as LTS (Long-term Support). That is why many IT companies have started providing Laravel Development services.
Laravel’s prominent projects:
1. Deltanet Travel 2. World Walking 3. FusionInvoice 4. Asgard CMS
MVC architecture is the strongest feature of Laravel Framework. There are many more features such as database agnostic migration, authentication facilities, schema builder, a toolkit that includes ORM queue library routing methods & more. This makes the development process a breeze for Laravel Developers.
Symfony Framework
Symfony is an old framework, it is considered as the stable base for recently launched frameworks including Laravel Framework. Basically, Symfony was created for enterprise-level robust web applications. It facilitates the user to develop scalable & high-performance applications. Symfony supports Rapid Application Development (RAD) for development with the help of its extensive set of modules.
Symfony is easy to install, is compatible with most of the databases & supports easy 3rd party integration. Moreover, has a very small overhead which results in more benefits than the cost incurred in hosting it.
SYMFONY’s prominent projects:
1. Drupal 2. Laravel 3. phpBB 4. OR CRM
Symfony provides YAML, Event Dispatcher, Dependency Injector & Templating Engine.
Read Also: 4 data loaders that make movement of data effortless
CakePHP Framework
CakePHP also provides rapid development of applications. It uses general design patterns such as Front Controller, Association Data Mapping, MVC & more.
CakePHP facilitates developers with the least applicable codes and rapid project building, which leads to reducing the cost of development.
CakePHP’s prominent projects:
1. BMW 2. Blendtec 3. Billabong 4. Express
Apart from the above-discussed features CakePHP also supports CRUD scaffolding, requires almost no specific configuration, and has built-in validation & more.
Yii Framework
Yii framework was Launched in 2008, Yii was made secure, quick & high-performance web application development framework. People in business find it highly attractive & valuable. Yii provides powerful caching support, acute security & professional approach in the development process.
Yii makes use of the Composer Dependency manager for PHP for the purpose of handling distinct dependencies and installations. Though all frameworks, be it Zend, Symfony, Laravel, CakePHP or any other, Yii happens to the fastest PHP framework as it is powered by the lazy loading technique. Alike Symfony, Yii makes use of built-in components to facilitate rapid application development.
With the release of Yii 2, it is being considered as the best framework by some of the PHP developers. Yii 2 supports PHP 5.3 and there are functionalities which have been inherited from Yii 1.1. Moreover, it provides high-level extensibility with acute security & proper testing.
Conclusion
There are two ways of doing any work: hard way & smart way. I will say if you are smart enough then you would choose a framework for the development of any project.
Framework enforces a structured development process & provides built-in modules to develop applications. Development using frameworks is not just easy but it also saves time and feature enhancement is carried out with ease.
Above are the numerous reasons you should choose to develop using frameworks for stable & robust development. Though Zend Framework is doing great in the search results I will suggest Laravel Framework to the developers if any developer wishes to learn or start to code in PHP language.
You should always do rigorous research before taking any decision upon opting for a framework for your next project or learning purpose. So these are the top frameworks of 2017 to be used to develop a robust PHP website or application.
Thanks for reading!
0 notes