# mvc

MVC (Model-View-Controller) is a software architectural pattern that separates an application into models, views, and controllers.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Android Architecture Patterns: A Comprehensive Pre-Interview Guide

DevFeed: [Android Architecture Patterns: A Comprehensive Pre-Interview Guide](<https://devfeed.tech/articles/android-architecture-patterns-a-comprehensive-pre-interview-guide-25146.md>)

Original publisher: [Read original article](<https://blog.droidchef.dev/android-architecture-patterns-a-comprehensive-pre-interview-guide/>)

Author: Ishan Khanna

Published: 2025-03-18T20:01:26Z

Content type: tutorial

Language: en

Sources: [Ishan Khanna](<https://devfeed.tech/sources/ishan-khanna.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-architecture](<https://devfeed.tech/tags/android-architecture.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [code](<https://devfeed.tech/tags/code.md>), [comparisons](<https://devfeed.tech/tags/comparisons.md>), [examples](<https://devfeed.tech/tags/examples.md>), [guide](<https://devfeed.tech/tags/guide.md>), [interview](<https://devfeed.tech/tags/interview.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [patterns](<https://devfeed.tech/tags/patterns.md>)

### AI overview

A pre-interview guide to Android architecture patterns. It explains why architectural patterns matter and covers MVC, MVP, MVVM, MVI, and modern Jetpack Compose implementations, with code examples and comparisons.

### Source excerpt

Looking to brush up on Android architecture patterns before your next mobile interview? This guide covers everything from traditional MVC to modern Jetpack Compose implementations, with code examples and comparisons of MVC, MVP, MVVM, and MVI patterns.

## Replace Useless Cases with Interfaces

DevFeed: [Replace Useless Cases with Interfaces](<https://devfeed.tech/articles/replace-useless-cases-with-interfaces-25097.md>)

Original publisher: [Read original article](<https://dladukedev.com/articles/042_avoid_useless_cases_part_2/>)

Published: 2024-08-15T00:00:00Z

Content type: article

Language: en

Sources: [Donovan LaDuke - Developer](<https://devfeed.tech/sources/donovan-laduke-developer.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [class](<https://devfeed.tech/tags/class.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [function](<https://devfeed.tech/tags/function.md>), [implement](<https://devfeed.tech/tags/implement.md>), [interface](<https://devfeed.tech/tags/interface.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>)

### AI overview

The article presents an alternative to dedicated pass-through use-case classes: define use-case interfaces and implement them directly in the repository. This preserves architectural benefits while reducing unnecessary code. It also discusses using invoke-operator extensions and the resulting trade-off of exposing an additional function.

### Source excerpt

An alternative approach to avoiding Useless Cases by making Use Case interfaces without dedicated Use Case classes

## Graphical Applications in Haskell with MVC and Gloss

DevFeed: [Graphical Applications in Haskell with MVC and Gloss](<https://devfeed.tech/articles/graphical-applications-in-haskell-with-mvc-and-gloss-27925.md>)

Original publisher: [Read original article](<http://alt-romes.github.io/posts/lectures/2022-06-27-mvc-gloss.html>)

Published: 2022-06-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Romes' Musings](<https://devfeed.tech/sources/romes-musings.md>)

Topics: [mvc](<https://devfeed.tech/topics/mvc.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Haskell](<https://devfeed.tech/topics/haskell.md>), [Graphics](<https://devfeed.tech/topics/graphics.md>), [Library](<https://devfeed.tech/topics/library.md>), [User Interfaces](<https://devfeed.tech/topics/user-interfaces.md>), [Simulation](<https://devfeed.tech/topics/simulation.md>)

Tags: [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [haskell](<https://devfeed.tech/tags/haskell.md>), [library](<https://devfeed.tech/tags/library.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [simulation](<https://devfeed.tech/tags/simulation.md>), [user-interfaces](<https://devfeed.tech/tags/user-interfaces.md>)

### AI overview

This article explains the model-view-controller pattern and how it maps to functional programming in Haskell. It uses the Gloss library to build a graphical application and illustrate the model, view, and event-handling components with a simple employee simulation.

### Source excerpt

Contents 1 MVC 2 Functional MVC: Gloss 2.1 Picture 2.2 Event 2.3 Gloss 1 MVC Model-view-controller (MVC) is a software architectural pattern commonly used for developing user interfaces that divide the related program logic into three interconnected elements. MVC says that an interactive application should consist roughly of three main parts - Model, View, and Controller. The Model is the data and state that we need to keep track of to model our application. If you're programming a Chess game, the model could consist of the state of the board (which pieces are where), the time passed since the last player played, whose turn it is, etc... The View is the definition of how our model should be displayed to the user. Intuitively, you can think of it as a function Model -> UI (and begin to see how functional MVC might be interesting). For the above example, the view would define how the chess board can be shown to the user (a 3d object, a 2d ascii board, ...), where the time passed shows up in the screen, etc. The Controller handles all events and interactions with the application and how they modify the existing model. In chess, the controller could define that when a player drags a piece in the board, the position of that piece in the board model changes to the new position, the current turn changes to the other player, and the time passed is reset to zero. And the three relate in the following manner: MVC diagram from Wikipedia 2 Functional MVC: Gloss How does the model-view-controller idea translate into functional programming? It turns out to be quite simple because the three parts match basic FP concepts. We'll focus on the library Gloss to develop a graphical application. Gloss is very easy to setup, provides abstractions for drawing graphics, and outlines the MVC compoonents clearly. We'll implement a simple simulation of the 101companies employees to illustrate the concepts. To define the model, the structure which is updated thorought the program, we simply define

## Why Businesses Use the Zend Framework

DevFeed: [Why Businesses Use the Zend Framework](<https://devfeed.tech/articles/why-do-businesses-popularly-use-the-zend-framework-17724.md>)

Original publisher: [Read original article](<https://orionesolutions.com/why-do-businesses-popularly-use-the-zend-framework/>)

Author: Neeraj Khosla

Published: 2022-05-17T08:30:36Z

Content type: article

Language: en

Sources: [Our Latest Backend Development Insights](<https://devfeed.tech/sources/our-latest-backend-development-insights.md>)

Topics: [PHP](<https://devfeed.tech/topics/php.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [Application Development](<https://devfeed.tech/topics/application-development.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [application-development](<https://devfeed.tech/tags/application-development.md>), [backend-development](<https://devfeed.tech/tags/backend-development.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [framework](<https://devfeed.tech/tags/framework.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [php](<https://devfeed.tech/tags/php.md>), [testing](<https://devfeed.tech/tags/testing.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>), [zend-application-development](<https://devfeed.tech/tags/zend-application-development.md>), [zend-framework](<https://devfeed.tech/tags/zend-framework.md>), [zend-framework-development-services-in-toronto](<https://devfeed.tech/tags/zend-framework-development-services-in-toronto.md>)

### AI overview

This article explains why businesses use the Zend Framework, now known as Laminas, for PHP web application development. It describes its MVC support, encryption, database support, libraries, integration, rapid development features, testing components, and maintenance benefits.

### Source excerpt

Statista's reports say that PHP is the most popular language contributing to 45.43% of the market. PHP is ruling the web and computer technology all over the world. However, with the vast array of frameworks available, businesses only choose the best and the most suitable ones. Zend Framework has more than 570 million installations. Zend ... WHY DO BUSINESSES POPULARLY USE THE ZEND FRAMEWORK? Read More " The post WHY DO BUSINESSES POPULARLY USE THE ZEND FRAMEWORK? appeared first on Orion.

## Using GraphQL with Ruby on Rails

DevFeed: [Using GraphQL with Ruby on Rails](<https://devfeed.tech/articles/using-graphql-with-ruby-on-rails-23563.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/using-graphql-with-ruby-on-rails>)

Author: Erin Fox

Published: 2021-11-18T11:00:05Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Ruby on Rails](<https://devfeed.tech/topics/ruby-on-rails.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [API](<https://devfeed.tech/topics/api.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apis](<https://devfeed.tech/tags/apis.md>), [apollo](<https://devfeed.tech/tags/apollo.md>), [applications](<https://devfeed.tech/tags/applications.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [backend](<https://devfeed.tech/tags/backend.md>), [business-logic](<https://devfeed.tech/tags/business-logic.md>), [community](<https://devfeed.tech/tags/community.md>), [declarative](<https://devfeed.tech/tags/declarative.md>), [framework](<https://devfeed.tech/tags/framework.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [programming](<https://devfeed.tech/tags/programming.md>), [rails](<https://devfeed.tech/tags/rails.md>), [react](<https://devfeed.tech/tags/react.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [ruby-on-rails](<https://devfeed.tech/tags/ruby-on-rails.md>), [ruby-programming-language](<https://devfeed.tech/tags/ruby-programming-language.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>)

### AI overview

A tutorial introducing Ruby on Rails and GraphQL, then demonstrating how to build and query a Rails-GraphQL API with React and Apollo.

### Source excerpt

Objective: Learn how to create a new project with Ruby on Rails and GraphQL while setting it up to use React and Apollo. The focus is on getting the API running and executing a query. Introduction Ruby on Rails is an MVC (model, view, controller) framework that you can use to build web applications using the Ruby programming language. GraphQL is a declarative query language and server-side runtime that makes it easier for frontend developers to perform data fetching.

## Converting a Laravel App to a Shopify App

DevFeed: [Converting a Laravel App to a Shopify App](<https://devfeed.tech/articles/converting-a-laravel-app-to-a-shopify-app-28188.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/laravel/2021/08/27/converting-a-laravel-app-to-a-shopify-app.html>)

Author: Fuzzygroup

Published: 2021-08-27T14:11:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [Shopify](<https://devfeed.tech/topics/shopify.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [PHP](<https://devfeed.tech/topics/php.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [Composer](<https://devfeed.tech/topics/composer.md>)

Tags: [applications](<https://devfeed.tech/tags/applications.md>), [ecommerce](<https://devfeed.tech/tags/ecommerce.md>), [framework](<https://devfeed.tech/tags/framework.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [php](<https://devfeed.tech/tags/php.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A tutorial explaining how to build a private or custom Shopify app with Laravel. It covers creating the app in the Shopify Dashboard, configuring callback and redirect URLs, adding Shopify support to Laravel, installing the osiset Shopify component, and setting credentials and API scopes.

### Source excerpt

This blog post tackles the odd topic of taking a Laravel application and converting it to a Shopify app. Overview Shopify is an ecommerce platform for building hosted shopping sites. With Shopify your whole ecommerce experience exists on a shopify url (whether the domain is .shopify.com or not; Shopify is serving everything and the underlying source of data is Shopify itself). Laravel is an MVC based framework for building web applications using the php language. In this blog post, I will attempt to document all the steps to build a "shopify app" using Laravel. A Shopify app is a web application which, can be hosted anywhere, that authenticates itself to Shopify and is embedded in a page on the Shopify website. Step 1: Create a Shopify App Using the Shopify Dashboard There are a few different types of Shopify apps: Private / Custom - A private app can only be used by one shopify site and cannot be listed in the Shopify app catalog. Private apps have no review / approval cycle. Public - A public app is listed in the Shopify catalog, is reviewed and approved by Shopify In this tutorial we will be focused on private / custom apps. The first step is to create our app. This can be done with this url: https://partners.shopify.com/ There are two url settings: The Callback url; this might also be called the App url (Shopify has changed their UI a number of times) The Redirect uri; this might be called the "Allowed redirection URL(s)" The callback url needs to be set to your home route, the default route for your application. The redirect uri needs to be set to the /authenticate route (this is automatically provided by ) Note: Everything you do with the Shopify website needs to be done in Chrome. No other browser such as Brave seems to work. Step 2: Adding Shopify Support to Your Laravel App The first step is to install the osiset shopify component: composer require osiset/laravel-shopify After that you need to generate a configuration file: php artisan vendor:publish --tag=

## Announcing CodeRAD 2.0 Preview

DevFeed: [Announcing CodeRAD 2.0 Preview](<https://devfeed.tech/articles/announcing-coderad-2-0-preview-19195.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/announcing-coderad-2-0-preview/>)

Author: Steve Hannah

Published: 2021-08-13T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Framework](<https://devfeed.tech/topics/framework.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [Java](<https://devfeed.tech/topics/java.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [User Interfaces](<https://devfeed.tech/topics/user-interfaces.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [declarative](<https://devfeed.tech/tags/declarative.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [feature](<https://devfeed.tech/tags/feature.md>), [framework](<https://devfeed.tech/tags/framework.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [native](<https://devfeed.tech/tags/native.md>), [performance](<https://devfeed.tech/tags/performance.md>), [preview](<https://devfeed.tech/tags/preview.md>), [productivity](<https://devfeed.tech/tags/productivity.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [user-interfaces](<https://devfeed.tech/tags/user-interfaces.md>), [view](<https://devfeed.tech/tags/view.md>), [xml](<https://devfeed.tech/tags/xml.md>)

### AI overview

CodeRAD 2.0 is announced as a developer preview of an MVC framework for building native, mobile-first applications in Java and Kotlin. The release adds XML-based declarative views, property binding, and a simulator-based pseudo-hot-reload workflow with a stated 1-2 second update delay.

### Source excerpt

We are proud to announce the immediate availability of the CodeRAD 2.0 developer preview. CodeRAD is a modern MVC framework for building truly native, mobile-first, pixel-perfect applications in Java and Kotlin.

## Battle-tested template project for backend with Kotlin and Ktor

DevFeed: [Battle-tested template project for backend with Kotlin and Ktor](<https://devfeed.tech/articles/battle-tested-template-project-for-backend-with-kotlin-and-ktor-24731.md>)

Original publisher: [Read original article](<https://medium.com/xorum-io/battle-tested-template-project-for-backend-with-kotlin-and-ktor-c655a2e276c2?source=rss----92bb7980cc9f---4>)

Author: Yev Kanivets

Published: 2021-07-16T05:24:17Z

Content type: tutorial

Language: en

Sources: [xorum.io - Medium](<https://devfeed.tech/sources/xorum-io-medium.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Ktor](<https://devfeed.tech/topics/ktor.md>), [Template](<https://devfeed.tech/topics/template.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [API](<https://devfeed.tech/topics/api.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Heroku](<https://devfeed.tech/topics/heroku.md>), [Postman](<https://devfeed.tech/topics/postman.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [backend](<https://devfeed.tech/tags/backend.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [ktor](<https://devfeed.tech/tags/ktor.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [postman](<https://devfeed.tech/tags/postman.md>), [project](<https://devfeed.tech/tags/project.md>)

### AI overview

This article presents a personal Ktor template for Kotlin backend applications, describing its production use, project structure, tools, libraries, MVC-based architecture, API design, Heroku deployment files, and Firebase Auth integration.

### Source excerpt

With Kotlin and Ktor technologies gaining more popularity among the community of backend developers, dozens of different sample applications and templates are created and published as open-source projects. Ktor is an asynchronous framework for creating microservices, web applications, and more. It's fun, free, and open source. So it doesn't force any particular architecture, set of libraries, or framework to be used, which means that you are free to choose what's best for you and your project. Today, I'm finally ready to share my personal Ktor template, polished by almost a year of use in production applications. This article gives a short overview of the template, its architecture, chosen tools, and libraries. Tools Since we are using Kotlin to develop Ktor applications, pretty much any IDE compatible with Java/Kotlin should work. But the default choice is IntelliJ IDEA, of course. Community edition (free) will work just fine. Postman is a great choice for documenting, testing, and sharing your backend APIs. There are many similar tools. You can use cURL requests, for example. But always think about your API users first. What will be the most convenient for them, as they depend on you a lot. Structure Most of the Kotlin projects (including Ktor) are powered by Gradle, so they look quite similar. My template isn't different, with many Gradle-related files in the root and single src folder. Other files are related to Heroku deployment, but more on this later. Architecture Ktor isn't forcing you for any particular approach, so you are free to choose and implement the architecture that fits your needs best. In our case, we implemented classical MVC (Model -- View -- Controller) architecture with a public API instead of View and dedicated Interactors, which encapsulate all business logic related to each endpoint. Firebase Auth Most applications require some authentication and authorization business logic, so my template includes one of the possible implementations out of

## A Simple Laravel Hello World

DevFeed: [A Simple Laravel Hello World](<https://devfeed.tech/articles/a-simple-laravel-hello-world-28186.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/laravel/2021/05/27/a-simple-laravel-hello-world.html>)

Author: Fuzzygroup

Published: 2021-05-27T13:02:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Rails](<https://devfeed.tech/topics/rails.md>)

Tags: [how-to](<https://devfeed.tech/tags/how-to.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [make](<https://devfeed.tech/tags/make.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [php](<https://devfeed.tech/tags/php.md>), [route](<https://devfeed.tech/tags/route.md>), [view](<https://devfeed.tech/tags/view.md>)

### AI overview

A step-by-step Laravel tutorial that builds a minimal Hello World application using Composer, a controller, a route, a variable, and an HTML view. It explains that the example demonstrates parts of an MVC framework without covering models or database connectivity.

### Source excerpt

As of late I've been working in Laravel and figuring out how Laravel differs from Rails. And while I have a bigger blog post in the works, I thought there was learning value in a simple Hello World implemented in Laravel. Hello World is a simple program that just puts Hello World on the screen. Here's how I thought a Laravel version of this should work: Be a whole Laravel application Be a single controller Be a single route Define the text "Hello World" as a variable, $text, in the controller Display that on the screen via an HTML template While this doesn't illustrated models and database connectivity, this actually illustrates how to use a surprising amount of an overall MVC framework. Step 1: Creating an Application The first step is to use composer to generate the overall application with: composer create-project laravel/laravel hello_world The next step is to change into the directory with: cd hello_world and then open the code base with: mate . or if you use Sublime: subl . Step 2: Generating a Controller Back at your command line, you want to generate a controller with: php artisan make:controller HelloController This will create a file named HelloController in app/http/Controllers: ls -l app/Http/Controllers total 16 -rw-r--r-- 1 sjohnson staff 361 May 18 11:37 Controller.php -rw-r--r-- 1 sjohnson staff 122 May 27 09:12 HelloController.php Inside the controller you want to add the following code (some of which will already be there from the generator): public function index() { return view('hello_index'); } inside the "class HelloController extends Controller" block of code (it goes inside the {} braces). Step 3: Adding a Route Moving back to the code base, you want to edit the file routes/web.php and add this line: Route::get('/hello', 'App\Http\Controllers\HelloController@index'); This adds a single route, /hello, which is then handled by the Hello controller and the hello_index action. You can test that this route is available by running: php artisan rout

## RAD Chat Room - Part 5

DevFeed: [RAD Chat Room - Part 5](<https://devfeed.tech/articles/rad-chat-room-part-5-19490.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/rad-chatroom-part-5/>)

Author: Steve Hannah

Published: 2020-05-28T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>), [ui](<https://devfeed.tech/topics/ui.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [webcam](<https://devfeed.tech/topics/webcam.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [camera](<https://devfeed.tech/tags/camera.md>), [capture](<https://devfeed.tech/tags/capture.md>), [library](<https://devfeed.tech/tags/library.md>), [messaging](<https://devfeed.tech/tags/messaging.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

Part 5 of a RAD Chatroom tutorial adds a capturePhoto action that lets users select or take an image and insert it into a chat message. It also explains that the mock application has no server integration and recommends the cn1-websockets library as a starting point.

### Source excerpt

This is part 5 of the RAD Chatroom tutorial. You can find part 1 here, part 2 here, part 3 here and part 4 here. Adding A Photo Capture Feature Most messaging applications include the ability to add photos to messages. Let's add this feature to our chat app now. First we'll define a new action called "capturePhoto", and add to the TEXT_ACTIONS category of our view node. public static final ActionNode capturePhoto = action( icon(FontImage.MATERIAL_CAMERA) ); ... ViewNode viewNode = new ViewNode( actions(ChatRoomView.SEND_ACTION, send), actions(ProfileAvatarView.PROFILE_AVATAR_CLICKED_MENU, phone, videoConference), actions(ChatBubbleView.CHAT_BUBBLE_LONG_PRESS_MENU, likeAction), actions(ChatBubbleView.CHAT_BUBBLE_BADGES, likedBadge), actions(ChatRoomView.TEXT_ACTIONS, capturePhoto) __**(1)** ); __1 Added capturePhoto action to the TEXT_ACTIONS category so that it will appear as a button beside the text field. And we'll also add a handler for this action, which will capture a photo, and embed the photo in a message that we will add to the chat room's view model.

## RAD Chat Room - Part 1

DevFeed: [RAD Chat Room - Part 1](<https://devfeed.tech/articles/rad-chat-room-part-1-19486.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/rad-chatroom-part-1/>)

Author: Steve Hannah

Published: 2020-04-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [App](<https://devfeed.tech/topics/app.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [ide](<https://devfeed.tech/tags/ide.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [project](<https://devfeed.tech/tags/project.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A step-by-step tutorial on using the RADChatRoom library and CodeRAD in a Codename One application. It introduces the ChatRoomView component, explains the MVC-based setup, and covers project creation, CSS activation, and dependency installation.

### Source excerpt

This tutorial describes how to use the RADChatRoom library to quickly and easily add a nice-looking, fully functional chat room to your Codename One application. This is part 1 of a multi-part series of posts over the next few weeks. The finished product will look like the following: You can download the full source of this tutorial's project here. You can also try it out yourself here.

## Managing Massive View Controllers in iOS MVC Applications

DevFeed: [Managing Massive View Controllers in iOS MVC Applications](<https://devfeed.tech/articles/mvc-many-view-controllers-39511.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2020-02-20-mvc-with-sugar>)

Published: 2020-02-20T18:00:00Z

Content type: opinion

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [mvc](<https://devfeed.tech/topics/mvc.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [iOS development](<https://devfeed.tech/topics/ios-development.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [app-architecture](<https://devfeed.tech/tags/app-architecture.md>), [apple](<https://devfeed.tech/tags/apple.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [testing](<https://devfeed.tech/tags/testing.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>)

### AI overview

The article discusses problems that arise when iOS MVC applications develop massive view controllers, tightly coupled screens, and difficult-to-write unit tests. It considers how to split view controllers while supporting older iOS versions and UIKit alongside SwiftUI.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Choosing an Architecture Pattern for Android Applications

DevFeed: [Choosing an Architecture Pattern for Android Applications](<https://devfeed.tech/articles/mvwtf-demystifying-architecture-patterns-22826.md>)

Original publisher: [Read original article](<http://androidessence.com/mvwtf/>)

Author: Adam McNeilly

Published: 2019-08-16T00:00:00Z

Content type: tutorial

Language: en

Sources: [Android Essence](<https://devfeed.tech/sources/android-essence.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [App](<https://devfeed.tech/topics/app.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [architecture-pattern](<https://devfeed.tech/tags/architecture-pattern.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [mvi](<https://devfeed.tech/tags/mvi.md>), [mvvm](<https://devfeed.tech/tags/mvvm.md>), [patterns](<https://devfeed.tech/tags/patterns.md>)

### AI overview

This tutorial explains why Android applications need architecture patterns and compares approaches including MVC, MVP, MVVM, MVI, and MVU. It emphasizes separating application code into distinct components rather than placing all code in an Activity.

### Source excerpt

As an Android developer, one of the questions I constantly see asked within the community is "what architecture pattern should I use?" This discussion usually leads to a handful of buzzwordy acronyms: MVC MVP MVVM MVI MVU?? (We don't talk about this but apparently it's the new kid on the block) This can be really intimidating to new Android devs, as well as seasoned veterans who are constantly questioning if they're using the right one. Whether you're trying to decide which one to learn, or wondering if the one you already use is best for you, this post will help lead you to the right decision.

## The next CEO of Stack Overflow

DevFeed: [The next CEO of Stack Overflow](<https://devfeed.tech/articles/the-next-ceo-of-stack-overflow-37528.md>)

Original publisher: [Read original article](<https://www.joelonsoftware.com/2019/03/28/the-next-ceo-of-stack-overflow/>)

Author: Joel Spolsky

Published: 2019-03-28T14:00:53Z

Content type: news

Language: en

Sources: [Joel Spolsky](<https://devfeed.tech/sources/joel-spolsky.md>)

Topics: [Stack Overflow](<https://devfeed.tech/topics/stackoverflow.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>), [Software as a service](<https://devfeed.tech/topics/saas.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [.NET](<https://devfeed.tech/topics/net.md>)

Tags: [advertising](<https://devfeed.tech/tags/advertising.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [browser](<https://devfeed.tech/tags/browser.md>), [ceo](<https://devfeed.tech/tags/ceo.md>), [co-founder](<https://devfeed.tech/tags/co-founder.md>), [employees](<https://devfeed.tech/tags/employees.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [net](<https://devfeed.tech/tags/net.md>), [news](<https://devfeed.tech/tags/news.md>), [revenue](<https://devfeed.tech/tags/revenue.md>), [saas](<https://devfeed.tech/tags/saas.md>), [software](<https://devfeed.tech/tags/software.md>), [stack-overflow](<https://devfeed.tech/tags/stack-overflow.md>)

### AI overview

Joel Spolsky announces that Stack Overflow is looking for a new CEO. He is stepping away from day-to-day operations to become chairman of the board, while describing the company's growth, profitability, products, employees, and audience.

### Source excerpt

We're looking for a new CEO for Stack Overflow. I'm stepping out of the day-to-day and up to the role of Chairman of the Board. Read more "The next CEO of Stack Overflow"

## Breaking The Buzzwords Barrier Part 3: ViewModel

DevFeed: [Breaking The Buzzwords Barrier Part 3: ViewModel](<https://devfeed.tech/articles/breaking-the-buzzwords-barrier-part-3-viewmodel-22793.md>)

Original publisher: [Read original article](<http://androidessence.com/breaking-the-buzzwords-barrier-viewmodel/>)

Author: Adam McNeilly

Published: 2018-06-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Android Essence](<https://devfeed.tech/sources/android-essence.md>)

Topics: [mvc](<https://devfeed.tech/topics/mvc.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [architecture-components](<https://devfeed.tech/tags/architecture-components.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [mvvm](<https://devfeed.tech/tags/mvvm.md>), [rotation](<https://devfeed.tech/tags/rotation.md>), [viewmodel](<https://devfeed.tech/tags/viewmodel.md>)

### AI overview

This tutorial explains the difference between the ViewModel concept in MVVM architecture and Android's lifecycle-conscious ViewModel class. It describes how Android Architecture Components retain ViewModel data across configuration changes such as rotation.

### Source excerpt

So far we've covered four big buzzwords used in our application: Model-View-ViewModel Room RxJava Repository Pattern Now, we should circle back to the beginning. Following our diagram outlined in the previous parts, the next component we can begin to work on is our AccountViewModel: Naturally, this may bring up some confusion. We already discussed ViewModels in part 1. Well, depending on context, we may not be referring to the same thing.

## Accelerating Android Talent Through Community Bootcamps

DevFeed: [Accelerating Android Talent Through Community Bootcamps](<https://devfeed.tech/articles/accelerating-android-talent-through-community-bootcamps-1286.md>)

Original publisher: [Read original article](<https://shopify.engineering/accelerating-android-talent-through-community-bootcamps>)

Author: Julia Hurrelmann

Published: 2018-02-27T22:00:00Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Shopify](<https://devfeed.tech/topics/shopify.md>), [coding-community](<https://devfeed.tech/topics/coding-community.md>), [software-development](<https://devfeed.tech/topics/software-development.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [JSON](<https://devfeed.tech/topics/json.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [community](<https://devfeed.tech/tags/community.md>), [developer](<https://devfeed.tech/tags/developer.md>), [development](<https://devfeed.tech/tags/development.md>), [json](<https://devfeed.tech/tags/json.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [skills](<https://devfeed.tech/tags/skills.md>), [software-development](<https://devfeed.tech/tags/software-development.md>)

### AI overview

Shopify describes an Android Bootcamp designed to help developers transition into mobile development through a two-day workshop. Participants build a simple quiz app while learning Android views with XML, lifecycles, MVC, JSON parsing, libraries, and remote data retrieval.

### Source excerpt

6 minute read The mobile team knew they needed developers, particularly Android developers. A few years ago, Shopify pivoted to mobile-first, which led to the launches of Shopify Mobile, Shopify Pay, Frenzy, and others. To maintain momentum, Shopify had to keep building up its mobile talent. Back when Shopify's mobile teams spun up, many of our then-early mobile developers never did any mobile development before, instead teaching themselves how to do it on the job. From this observation, we had an insight: what if we could teach developers how to build an Android app, via a Shopify-hosted workshop? The benefits were obvious: this educational initiative could help our local developer community pick up some new skills, while potentially allowing us to meet exciting new talent. The idea for Android Bootcamp was born.

## Reactive Apps with Model-View-Intent - Part 1: Model

DevFeed: [Reactive Apps with Model-View-Intent - Part 1: Model](<https://devfeed.tech/articles/reactive-apps-with-model-view-intent-part-1-model-25454.md>)

Original publisher: [Read original article](<https://hannesdorfmann.com/android/mosby3-mvi-1/>)

Author: Hannes Dorfmann

Published: 2017-01-09T09:00:00Z

Content type: tutorial

Language: en

Sources: [Hannes Dorfmann](<https://devfeed.tech/sources/hannes-dorfmann.md>)

Topics: [RxJava](<https://devfeed.tech/topics/rxjava.md>), [android-development](<https://devfeed.tech/topics/android-development.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [mvc](<https://devfeed.tech/topics/mvc.md>)

Tags: [android-development](<https://devfeed.tech/tags/android-development.md>), [immutability](<https://devfeed.tech/tags/immutability.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [mvi](<https://devfeed.tech/tags/mvi.md>), [mvvm](<https://devfeed.tech/tags/mvvm.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [process](<https://devfeed.tech/tags/process.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [rxjava](<https://devfeed.tech/tags/rxjava.md>)

### AI overview

This first part of a blog series explains why a well-defined Model matters in Android applications using Reactive Apps, RxJava, and Model-View-Intent (MVI). It contrasts this approach with MVC, MVP, and MVVM, and connects a Model to issues such as state, configuration changes, navigation, process death, and immutability.

### Source excerpt

Once I have figured out that I have modeled my Model classes wrong all the time, a lot of issues and headache I previously had with some Android platform related topics are gone. Moreover, finally I was able to build Reactive Apps using RxJava and Model-View-Intent (MVI) as I never was able before although the apps I have built so far are reactive too but not on the same level of reactiveness as I'm going to describe in this blog post series.

## MVVM-C A simple way to navigate

DevFeed: [MVVM-C A simple way to navigate](<https://devfeed.tech/articles/mvvm-c-a-simple-way-to-navigate-27947.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2016-08-26-mvvmc/>)

Author: Susann Proszak Follow

Published: 2016-08-26T00:00:00Z

Content type: tutorial

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [iOS development](<https://devfeed.tech/topics/ios-development.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [reusable code](<https://devfeed.tech/topics/reusable-code.md>)

Tags: [architectures](<https://devfeed.tech/tags/architectures.md>), [business-logic](<https://devfeed.tech/tags/business-logic.md>), [design-patterns](<https://devfeed.tech/tags/design-patterns.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [mvvm](<https://devfeed.tech/tags/mvvm.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [reusable-code](<https://devfeed.tech/tags/reusable-code.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

An introduction to the MVVM-C design pattern for iOS development. The article explains how coordinators handle application navigation and flow while view models contain business logic, using a small demo app to illustrate the approach.

### Source excerpt

When thinking about design patterns and architectures in iOS development, MVC might be the first thing that comes to mind for most of you. But throughout the last years, MVC got a really bad reputation. Probably a lot of you heard about MVC as the massive view controller.

## Android Software Architecutre by Example

DevFeed: [Android Software Architecutre by Example](<https://devfeed.tech/articles/android-software-architecutre-by-example-25472.md>)

Original publisher: [Read original article](<https://hannesdorfmann.com/presentations/2016-06-02-android-architecture-by-example/>)

Author: Hannes Dorfmann

Published: 2016-06-02T00:00:00Z

Content type: comparison

Language: en

Sources: [Hannes Dorfmann](<https://devfeed.tech/sources/hannes-dorfmann.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [flux](<https://devfeed.tech/topics/flux.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [Redux](<https://devfeed.tech/topics/redux.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [flux](<https://devfeed.tech/tags/flux.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [redux](<https://devfeed.tech/tags/redux.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

A video presentation comparing MVC, MVP, MVVM, Redux, Flux, and MVI architectural patterns and their application to existing open-source Android applications.

### Source excerpt

Comparing some architectural design patterns like MVC, MVP, MVVM, Redux, Flux, MVI and how they could be applied on existing open source applications.

## Presenters don't need lifecycle events

DevFeed: [Presenters don't need lifecycle events](<https://devfeed.tech/articles/presenters-don-t-need-lifecycle-events-25465.md>)

Original publisher: [Read original article](<https://hannesdorfmann.com/android/presenters-dont-need-lifecycle/>)

Author: Hannes Dorfmann

Published: 2016-03-24T09:00:00Z

Content type: opinion

Language: en

Sources: [Hannes Dorfmann](<https://devfeed.tech/sources/hannes-dorfmann.md>)

Topics: [mvc](<https://devfeed.tech/topics/mvc.md>), [Library](<https://devfeed.tech/topics/library.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [components](<https://devfeed.tech/tags/components.md>), [library](<https://devfeed.tech/tags/library.md>)

### AI overview

The article argues that MVP Presenters in Mosby do not need Android lifecycle callback methods. It says Presenters should coordinate the view, transform model data for presentation, and bridge to business logic, while only tracking whether a view is attached. It discusses LightCycle as a way to delegate lifecycle logic into smaller components, but cautions that adding lifecycle methods to Presenters can merely relocate complex code.

### Source excerpt

I have been asked several times why Presenters in Mosby (MVP library) don't have lifecycle callback methods like onCreate(Bundle), onResume() etc. Also the awesome guys over at SoundCloud have published a library called LightCycle that helps break logic out of Activity or Fragments into smaller containers bound to the parents Activity's or Fragment's lifecycle.

## Model-View-Intent on Android

DevFeed: [Model-View-Intent on Android](<https://devfeed.tech/articles/model-view-intent-on-android-25451.md>)

Original publisher: [Read original article](<https://hannesdorfmann.com/android/model-view-intent/>)

Author: Hannes Dorfmann

Published: 2016-03-04T09:00:00Z

Content type: tutorial

Language: en

Sources: [Hannes Dorfmann](<https://devfeed.tech/sources/hannes-dorfmann.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [ui](<https://devfeed.tech/topics/ui.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Redux](<https://devfeed.tech/topics/redux.md>), [RxJava](<https://devfeed.tech/topics/rxjava.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [model-view-intent](<https://devfeed.tech/tags/model-view-intent.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [mvi](<https://devfeed.tech/tags/mvi.md>), [react](<https://devfeed.tech/tags/react.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [redux](<https://devfeed.tech/tags/redux.md>), [rxjava](<https://devfeed.tech/tags/rxjava.md>), [ui](<https://devfeed.tech/tags/ui.md>), [view](<https://devfeed.tech/tags/view.md>)

### AI overview

This article introduces Model-View-Intent (MVI) for Android UI architecture. It explains MVI's reliance on reactive and functional programming, relates it to MVC, and discusses influences from Redux, React, and Cycle.js.

### Source excerpt

As developers we should always think outside the box. A month ago Artem Zinnatullin and I have discussed some architectural trends on android and on other platforms, like .NET and javascript, in his Podcast The Context. A few days later Christina Lee gave an awesome lightning talk Redux-ing UI Bugs during square's The Journey of Android Engineers event.

## Understanding ASP.NET 5 and .NET Core

DevFeed: [Understanding ASP.NET 5 and .NET Core](<https://devfeed.tech/articles/understanding-asp-net-5-and-net-core-41570.md>)

Original publisher: [Read original article](<http://www.adamtuliper.com/2015/12/understanding-aspnet-5-and-net-core.html>)

Author: Adam Tuliper (noreply@blogger.com)

Published: 2015-12-16T21:20:00Z

Content type: tutorial

Language: en

Sources: [Adam Tuliper](<https://devfeed.tech/sources/adam-tuliper.md>)

Topics: [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [.NET](<https://devfeed.tech/topics/net.md>), [net core](<https://devfeed.tech/topics/net-core.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>)

Tags: [asp-net](<https://devfeed.tech/tags/asp-net.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [net](<https://devfeed.tech/tags/net.md>), [net-core](<https://devfeed.tech/tags/net-core.md>), [osx](<https://devfeed.tech/tags/osx.md>)

### AI overview

An overview of ASP.NET 5 and .NET Core, describing their modular design, cross-platform support, MVC-only architecture, unified controller model, built-in dependency injection, and self-hosting options.

### Source excerpt

**Update - New ASP.NET 5 video coming soon, follow me on Twitter to keep an eye on announcements ** Most of my enterprise career was web based. In around 1997 my first major web project was to create the sign-up 3.5" floppy disks that were distributed with a good amount of Bell Atlantic phone books. This used all sorts of c-based cgi, Python scripts, and a mish mosh of tech. Things were so very very different then. We were actually the very first all Windows NT Internet Service Provider in the country. Good times but was web tech surely in its infancy. When ASP (Active Server Pages) first came out, it was amazing - it so we thought at the time as we spaghetti coded away our scripts. Fast forward nearly 20 years to ASP.NET 5. A technology that shares only letters with its predecessor. It's unbelievably fast. It runs an entirely different model than any of its predecessors. It is cross platform - even running on Linux and OSX. This is indeed a new Microsoft. What is ASP.NET 5? ASP.NET 5 is a new version of ASP.NET that has been built from the ground up with performance in mind, it is modular, and supports multiple platforms such as Windows, OSX, and Linux. ASP.NET 5 no longer contains Web Forms, it is purely MVC based and supports both C# and VB.NET. This may be a difficult point for some. Going forward, there was a lot of baggage Web Forms carried around and it was an abstraction to the web, which isn't how most modern frameworks work. As such, MVC 6 is the only supported option in ASP.NET 5. You can however still create Web Forms apps in Visual Studio 2015 (for ex. on .NET 4.6), just not for ASP.NET 5. The WebAPI technology (that released back with MVC 4) has now been merged into a unified controller model in ASP.NET 5. ASP.NET 5 now has out of the box support for Dependency Injection without the need for any third party DI containers (although several major ones work with it if that's your use case), and performance that can meet or exceed NodeJS applications. Let'

## Android Architecture: Introducing Pilot

DevFeed: [Android Architecture: Introducing Pilot](<https://devfeed.tech/articles/android-architecture-introducing-pilot-26033.md>)

Original publisher: [Read original article](<http://doridori.github.io//Android-Architecture-Pilot/>)

Author: SystemDotRun

Published: 2015-10-01T00:00:00Z

Content type: article

Language: en

Sources: [SystemDotRun](<https://devfeed.tech/sources/systemdotrun.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [Dagger](<https://devfeed.tech/topics/dagger.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-architecture](<https://devfeed.tech/tags/android-architecture.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [architectures](<https://devfeed.tech/tags/architectures.md>), [controllers](<https://devfeed.tech/tags/controllers.md>), [dagger](<https://devfeed.tech/tags/dagger.md>), [fragments](<https://devfeed.tech/tags/fragments.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [mvvm](<https://devfeed.tech/tags/mvvm.md>), [project](<https://devfeed.tech/tags/project.md>), [repo](<https://devfeed.tech/tags/repo.md>), [view](<https://devfeed.tech/tags/view.md>)

### AI overview

This article introduces Pilot, a work-in-progress abstract application stack for Android. It discusses managing presenter lifecycles, application flow, data scoping, and architectures based on views or a mix of fragments and views, while relating the approach to MVC, MVP, MVVM, and Dagger custom scopes.

### Source excerpt

An abstract application stack for Android Motivation There are some common questions that keep popping up on the interwebs around the current collective thought on Android Architecture. Some of these questions are: What approach can I use to handle my Presenters Lifecycle? How can Presenters control the flow of an application? How can I scope data within my application? What architecture could I use to support a View only based architecture (or a mix of Fragments / Views) ? The above questions are not easy ones to address and by no means am I suggesting the below is the only solution to these common issues. I have started using a simple abstract application stack which for the kind of applications I have been developing allows a clean & structured base for them to sit on top of. This post and supporting repo is definitely a work-in-progress but Im hoping it will spark some discussion which can be fed back into the project so it's something that is useful to others also. I have been tempted to not write anything about this until I have answered all the pending questions I have myself but I feel more may be gained by publishing early and often. It is probably worth mentioning that if you are not currently using some kind of Presenter / Controller / distinct view logic abstraction in your application at present you probably will not have come across (or asked yourself) some of these questions. The same goes for Dagger (& Dagger Custom Scopes) and View only view implementations. If you have been playing with some of this stuff you may find the below more applicable. In this post I will briefly expand on the above questions and introduce the project. Preliminaries A Note on terminology Presenters are all the rage in the Android world at present. Some call them Presenters, Controllers, ViewModels, PassiveView etc and they are used as part of MVC, MVP, MVVM (with DataBinding), MVA etc and all these terms overlap and have differnt meanings and implementations depending on w

## Just learn Rails (Part 2)

DevFeed: [Just learn Rails (Part 2)](<https://devfeed.tech/articles/just-learn-rails-part-2-21033.md>)

Original publisher: [Read original article](<https://jakeyesbeck.com/2015/07/19/just-learn-rails-part-2/>)

Published: 2015-07-19T12:00:00Z

Content type: opinion

Language: en

Sources: [Jake Yesbeck](<https://devfeed.tech/sources/jake-yesbeck.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [Code](<https://devfeed.tech/topics/code.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [framework](<https://devfeed.tech/tags/framework.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [rails](<https://devfeed.tech/tags/rails.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [ruby-on-rails](<https://devfeed.tech/tags/ruby-on-rails.md>), [scalability](<https://devfeed.tech/tags/scalability.md>)

### AI overview

This opinion article argues that Ruby on Rails can enable poor encapsulation and bad habits, especially through autoloading and ubiquitous model access. It recommends separating concerns and responsibilities to improve code comprehension and avoid scalability problems.

### Source excerpt

In a previous post I explained how "just learning Rails" is not as straight forward as the phrase portrays. Even the novice programmer who learns Ruby on Rails in a methodical progression may still run into hardship. However, this is not entirely the fault of young programmer, he or she was simply enabled into bad habits. Ruby on Rails enables the complete disregard of encapsulation. Notice how I did not say that Ruby on Rails prescribes less encapsulation, it simply enables it. This idea, much like any idea posted to the Internet, is not new. Many intelligent people have come to this same realization. One such example is the Trailblazer framework, which aims to help inject some encapsulation and abstraction mechanisms Rails is lacking. (For those interested, a book has been written to more fully explain this framework). Alright, so what am I really talking about? Ruby on Rails has certain features that make it easy to forget about encapsulation. The Autoloader A keyword that most Ruby on Rails developers rarely see on a daily basis is require. A piece of Ruby on Rails magic called autoloading greatly decreased the frequency of the require keyword in Ruby on Rails applications. This has many positive aspects for new and seasoned developers alike. But, it is not without drawbacks. One such drawback is that it makes ActiveRecord objects ubiquitous. Whenever a developer has the urge to reach into the database, regardless of the context, they are able to do so. This enables horrific code. Imagine we have a view template that we want to display a user's username and their pictures. Without any guidance, this following code could come into existence: # # Reminder, this is terrible code. Never do this. # <div> <!-- Let's just go through all the users in the database. This is a new application so we don't have that many users, it will never run into scalability issues. --> <% User.all.each do |user| %> <div class='username'> <%= user.username %> </div> <div class='pictures'

[Next page](<https://devfeed.tech/topics/mvc.md?cursor=WyIyMDE1LTA3LTE5VDEyOjAwOjAwKzAwOjAwIiwgImNlYjZlZmZhLTI1NzEtNDY3MC1hMjZkLWE5MDU3ZGE0MjFjNSJd>)