5 Reasons Why Ruby on Rails Is a Great Choice for Web Dev

See the original posting on DZone Python

During the 90s, Yukihirio Matsumoto, a Japanese software engineer, after struggling to find a powerful and easy to use programming language, decided to build one on his own. That is when Ruby made its first public appearance in 1995.

The language finally gained momentum ten years later when David Heinemeier Hansson created Ruby on Rails and built a custom web framework to speed the process up.

“Rails is the most well thought-out web development framework I’ve ever used. And that’s in a decade of doing web applications for a living. I’ve built my own frameworks, helped develop the Servlet API, and have created more than a few web servers from scratch. Nobody has done it like this before.” –
James Duncan Davidson, Creator of Tomcat and Ant

While we are at it, we thought, instead of listing down the most generic reasons, why not hear from developers’ themselves? They are ones who work closely with the language, developing websites, and engaging the clients.

Inheritance and Interfaces in PHP

See the original posting on DZone Python


Once upon a time, there was a web developer who used to spend weeks and weeks updating the same lines of code. This gave him very bad headaches. One day, while browsing blog posts, he came across the words Object-Oriented Programming and what happened next is astonishing…

In the previous post, you discovered the basics of the OOP paradigm in PHP, from its simple syntax to the advantages of reusing the same code in a straightforward but still powerful way.

How to Install Backdrop CMS on FAMP (FreeBSD 11.2)

See the original posting on DZone Python

Backdrop is an open source and free content management system (CMS). It is a fork of Drupal, mobile-friendly, and fast. You don’t need to know any programming languages to use Backdrop CMS. You can easily create, edit, and manage your content.

Backdrop CMS provides you with a multi-level user experience. This means that you can set different levels of permissions for different people. Backdrop CMS has add-ons, plugins, themes, and layouts. You can use them directly; you don’t need to search for other add-ons or themes. Even if you need to modify its API, you can do this according to your needs.

Single Page Application Using Server-Side Blazor

See the original posting on DZone Python


In this article, we will create a Single Page Application (SPA) using the server-side Blazor concepts with the help of Entity Framework Core database first approach. Single-Page Applications are web applications that load a single HTML page and dynamically update that page as the user interacts with the app.

We will be creating a sample Employee Record Management System and perform CRUD operations on it. A modal popup will display the form to handle inputs and the form also will have a dropdown list, which will bind to a database table. We will also provide a filter option to the user to filter the employee records based on employee name.

[DZone Research] Newer Technical Solutions for Web and Mobile Apps

See the original posting on DZone Python

To gather insights on the current and future state of web and mobile development we talked to 19 IT executives and we asked, "What newer technical solutions (frameworks, languages, tools) are you using to develop web and mobile apps?" Here’s what they told us:


  • Forrester did a wave report on low code in October 2017. It is a trend that is developing. Different buying patterns in low code by developers for developers and then branching to citizen business development. Incorporate non-technical people. React Native for mobile and JS for web, architecture as a UI framework to deliver higher level pre-built components. 
  • React Native apps are trending as well as progressive web apps. Our customers are leveraging such technologies for their cross-mobile iOS app development. JavaScript is the main web development and testing language – across the market. BFF (backend for front-end) frameworks are trending up especially in web development (Gauge, Watir). 
  • Depends on requirements. We see and use React Native a lot. We do use Cordova and different variations of it. See the mobile page local in the phone works on Android and iOS. 
  • React, Angular, Vue, PWA. Also seeing Storybook for React, Vue, Angular for component development in a centralized way for the entire organization. Tools for the automatic testing of storybook ensure the application looks good on all browsers and screen sizes. Test in the most effective way.


  • React Native in web community because react web for web apps. Airbnb changing from React Native back to Native hard to keep up to date with changes in iOS and Android. Xamarin open source framework for C# applications across platforms. Bought by Microsoft. Flutter mobile UI for cross-platform from Google. PWA is a hot discussion topic and alternative to content organization to build and launch on mobile. Progressive websites can have a mobile app feel. PWA versus Native are alternatives that people have. Also pure Native preferred for Apple and Google using SDKs. Make it simple and easy to get the value of native.
  • We are in the process of developing several sites using ASP.NET Core, minimalist CSS frameworks such as Pure CSS and Foundation, and the bare minimum of JavaScript only where we truly need it. This minimalist approach allows us to focus on creating small, fast, SEO friendly sites that perform well and look good. We’re also looking at ways to leverage progressive web application (PWA) and Web Assembly technologies as a way to create more interactive client experiences where required.


  • .NET Core on Windows, native on Linux. Suites like Xamarin to build applications that run on any platform. More adoption of tools. Maintaining multiple codebases is too complicated. Can switch between platforms quickly and easily. 
  • Xamarin and React Native. 35-40% of projects are cross-platform in nature. Conversational platforms are a natural way of interfacing. Chat experience focused and consistent.


  • Tooling APM has really taken off with AppDynamics, New Relic, Dynatrace, Crashalytics. APMs only cater to large app developers. Need to cater to the long tail of app developers. APM for mobile. No one owning mobile right now.
  • A lot of the work done on the development and deployment side. Modern development workflows have taken hold. Code in Git. Deployments rather than upgrades. From an end-user perspective, 60,000 plugins are available for WordPress — e-commerce, Spotify playlist, etc.
  • Swift from Apple and Kotlin from Android.
  • We are a framework. Juxtaposition against other frameworks. Google pushing web component standards. We want to be compatible with web components. Support at the fundamental browser level and let people integrate with any open source framework they want to use.
  • The most interesting new solutions for me are not technical, but process and product based. Adopting Behavior Driven Development (BDD) has been extremely helpful in focusing both development and testing resources on working together in a common language. This greatly cuts communication overhead and helps deliver on the promises of Agile.
  • We’re observing the increased use of open-source tools and frameworks in building web and mobile apps. Those range from code editors (such as VS Code and Atom) to performance test and auditing tools (such as Chrome DevTools and Lighthouse). Although not new, we see JavaScript getting more entrenched use not only on the client (with the ever-growing variety of front-end JS frameworks) but also on the server using Node.js and the enormous selection of npm packages available for it. We are involved in developing web and mobile apps in multiple ways which include the UI components of our core media services and of its digital asset management (DAM) SaaS offering. We also develop demo and showcase apps within various teams that use contemporary software solutions. These include popular front-end frameworks such as Angular, React, and Vue, as well as serverless (FaaS) infrastructure from cloud platform, SaaS and open-source partners such as AWS (Amazon), GCP (Google), Azure (Microsoft), and Extend (Auth0), to name a few.

Here’s who we spoke to:

Understanding Server-Side Blazor

See the original posting on DZone Python


We all know that the Blazor framework is a client-side web framework. But is it possible to run a Blazor application separate from the UI thread? The latest version of Blazor (0.5.0) gives us the flexibility to run Blazor in a separate process from the rendering process. We are going to explore server-side Blazor in this article.

What Is Server-Side Blazor?

Since Blazor is a client-side web framework, the component logic and DOM interaction both happen in the same process.

Deploying a Blazor Application on Azure

See the original posting on DZone Python


In this article, we will learn how to deploy an ASP.NET Core hosted Blazor application on Azure. We will use Visual Studio 2017 to publish the app and create a SQL database server on Azure to handle DB operations.


  • Install the .NET Core 2.1 or above SDK from here.
  • Install Visual Studio 2017 v15.7 or above from here.
  • Install ASP.NET Core Blazor Language Services extension from here.
  • An Azure subscription account. You can create a free Azure account here.

Please refer to my previous article Cascading DropDownList in Blazor Using EF Core to create the application that we will be deploying in this tutorial.

Customizing ASP.NET Core Part 07: OutputFormatter

See the original posting on DZone Python

In this seventh post, I want to write about, how to send your Data in different formats and types to the client. By default the ASP.NET Core Web API sends the data as JSON, but there are some more ways to send the data.

The Series Topics

About OutputFormatters

OutputFormatters are classes that turn your data into a different format to send them through HTTP to the clients. Web API uses a default OutputFormatter to turn objects into JSON, which is the default format to send data in a structured way. Other built-in formatters are an XML formatter and a plain text formatter.

How to Preview Blobs With HTTP POST and Angular 5

See the original posting on DZone Python

With Angular, we can call a web service to get an image as a Blob, convert that to an image and display it on a web page. This may sound like a straight and standard use case but I ended up spending a lot of time trying to get this to work and a lot of asking around. This has been one of the main motivations to write this article.

What I Wanted to Do

To begin with, I am building a website that displays thumbnails retrieved from a URL. On clicking on the thumbnail, the full sized image loads in a new page. Like a typical carousel, but the catch is that the thumbnail is generated dynamically and does not load from or stored on the local machine.

Top 10 Debugging Tips for .NET

See the original posting on DZone Python

The best-laid plans of mice and men still go off the rails sometimes. Even when you’ve been rigorous and put unit tests in place, there are times when you’ll want to jump in and debug an application or a unit test. In this article, we’ll take a look at 10 debugging tips for .NET.

1. Setting Breakpoints

A breakpoint is one of the fundamental units of debugging. It is a hint to the debugging environment that it should stop the execution of the application at a certain point. If you’re using the full Visual Studio IDE, then adding a breakpoint is simple. Click in the gutter next to the line of code on which you want to halt execution.

Perl6::Math::Matrix (Part 4: Naming Methods)

See the original posting on DZone Python

While reflecting on how to write a good Perl 6 module, I thought a lot about how to properly name my methods. In this text, I want to summarize what served me wel, which is a direct continuation of the last part, where I wrote about when it is helpful that methods share one name.

Do (Not) Dare (to) Differ

In software engineering there exists a discipline called DDD, or Domain Driven Design, which is just an academic term for: "just use the language people of a certain field are used to." That just makes sense for effective communication, but why? (If psychology bores you, just skip the next two paragraphs).

How Upload Files With Node.js

See the original posting on DZone Python

Front-end development throws a lot of shade over backend processes these days, especially in the land of JavaScript. Originally a language targeting browsers, JS has matured into every nook and cranny of modern development as a de facto tool. The syntax for interacting with various libraries in JavaScript can be confusingly identical between front-end and backend environments, so it helps to have a clear picture of what is going on. We’ll discuss the context briefly below, and then I’ll end with my own recipe for you to upload files with node.

The Problem: Information Overload

Searching for "JavaScript File Uploads" will yield an abundance of results, but it can be hard to tell at first glance which practical examples are targeting your specific needs. SDKs often don’t care that much they’re run, so it is up to the developer to clearly understand the nuances involved.

A Go Repo and Some Go Code [Video]

See the original posting on DZone Python

Wrapped up another Twitch stream (follow here) and streamed live via YouTube where the video is now (subscribe here, video here). However, the more interesting part, in my opinion, was where I broke down a few key parts of the application building features around file writes, reads, JSON marshaling, and some other functionality. I also put together a repo of the code I used here on Github (code shown and explained below). I dove into this topic in the later part of the stream which I’ve time tagged below. For the full timeline and the rest of the video just watch from the beginning. I do make some progress working on Colligere, but I’ll cover that topic in a subsequent blog entry and Twitch stream.

  • 1:32:40 – Creating a new application with Jetbrains Goland to show off how to use the Go core libraries around the user, JSON, and some basic file creation and writing.
  • 1:36:40 – At this point, I start adding some basic code to pull the current user and collect some information about that user.
  • 1:40:42 – I extract the error code using the Goland refactoring feature and set up a func check() for error checking. That cleans up the inline code a bit.
  • 1:43:10 – Here I add to the user data retrieved some environment variables to that list of collected data. I also cover again, as I have a number of times, how the environment variables are pulled in IDE versus user session versus out of IDE.
  • 1:47:46 – Now I add a file exist, check, and start working on that logic.
  • 1:48:56 – Props to Edd Turtle on a solid site on Go. Here’s the blog entry, and respectively the path to more of Edd’s material @ https://golangcode.com/. Also, Edd seems like a good guy to follow @eddturtle.
  • 2:01:33 – Starting the JSON Work here to marshal and unmarshall.
  • 2:26:33 – At this point, I push the code up to GitHub (repo here) using the built-in Goland VCS features. I realize I’ve named the repo "adron" by accident so I rename it, close Goland, and then clone the code back down locally with Goland’s VCS features. It’s kind of interesting to see Goland go through the two-factor auth for this too.
  • 2:58:56 – The Seattle Thrashing Code outtro!

There were a few notes I took during the session with my collected links and references for things I looked up. Those included the following:

The Nuances of Go: Go Program Structure

See the original posting on DZone Python

Talking About Types, Variables, Pointers, and More

In my endeavor to get more of the specifics of Go figured out, I’ve been diving a bit more in depth into each of the specific features, capabilities, and characteristics of the language. I’ll be doing the same for Cassandra over the coming months and producing a blog entry series about it. This new series, however, is about Go, and this first in the series is about types, variables, pointers, and naming of these things. Enjoy.

Reserved Words, Keywords, and Related Systemic Parts of Go

First off, let’s talk about the reserved words in Go. The list includes 25 keywords that can’t be used as variables or names of functions or anything like that. This list includes:

Why You Should Use TypeScript for Developing Web Applications

See the original posting on DZone Python

Defining TypeScript

TypeScript is an object-oriented programming language developed and maintained by the Microsoft Corporation. It is a superset of JavaScript and contains all of its elements.

TypeScript totally follows the OOPS concept and with the help of TSC (TypeScript Compiler), we can convert Typescript code (.ts file) to JavaScript (.js file)

Angular: A Developer’s First Choice

See the original posting on DZone Python

The job of a web developer is becoming more complex. With the number of browsers increasing at a rapid rate and developed web pages behaving differently in each one of them, cross-browser testing has emerged as a necessity to every web developer as the browser preferred by the end-user is unknown to them. However, there are many new frameworks that have made it easy for web developers to create browser compatible websites. The most famous framework is the one developed by Google, Angular. In this article, we shall discuss why Angular has become developers’ first choice and how its features are used by renowned web apps.

Why Angular Is Popular Among Developers

The main reason behind the popularity of Angular is its robustness, platform independence, and browser support. Currently, all major browsers are supporting Angular. The Angular team releases new updates at frequent intervals and new features are constantly added for enhanced user experience. Although certain custom elements are not natively supported by Firefox, but they are compatible with the upcoming release.

[DZone Research] Game Devs and Gamer Preferences

See the original posting on DZone Python

This article is part of the Key Research Findings from the 2018 DZone Guide to Game Development: Building Immersive Worlds.


For our 2018 Guide to Game Development, we surveyed 476 software professionals on various surrounding the practice and craft of game development. In this post, we focus on the data around whether respondents consider themselves professional or hobbyist game developers and the types of games respondents prefer to play and make. 

1 2 3 4 134