SShortSingh.
Back to feed

MVC to VIPER: Five Mobile Architecture Patterns, One Core Idea Explained

0
·64 views

Software developer Maneshwar argues that the five major mobile app architecture patterns — MVC, MVP, MVVM, MVVM-C, and VIPER — are all variations of the same fundamental concept rather than distinct ideas. Every pattern revolves around three components: a View that renders the interface, a Model that handles business logic and data, and a middle-layer translator that prevents the two from communicating directly. MVC, the oldest of the five, originated from Smalltalk research at Xerox PARC in the late 1970s and separates data from display through a Controller. The key differences between patterns lie in how much responsibility that middle translator holds and how that responsibility is divided or delegated. MVP improves testability by making the View passive and logic-heavy, while each subsequent pattern further refines how concerns are separated as app complexity grows.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Guide Explains How to Choose STM32 Cortex-M Microcontrollers for Robotics Control

A chapter from the STATERA Library's Compute and AI Architecture series examines STM32 Cortex-M microcontrollers for robotic electrical architectures. It argues that selecting an MCU involves more than picking the highest clock speed, requiring consideration of control timing, peripherals, memory, power, functional safety, and scalability. The MCU is positioned as a deterministic control layer beneath high-performance AI computers such as Jetson or edge PCs, which handle perception and planning. The text outlines how different Cortex-M families suit different roles, from low-cost distributed I/O nodes to motor control and high-performance domain controllers. It concludes that MCU selection should be based on worst-case real-time workloads rather than average CPU utilization.

0
ProgrammingDEV Community ·

Inlining images as Base64 adds about 33% size, but can still pay off for small assets

Base64 encoding turns binary image data into text, which makes the file roughly one third larger. Inlining is worthwhile for small, critical images like logos and icons, since it removes a network request and avoids blocked remote images in email. For large photos, the inflated size is re-downloaded with every page load and cannot be cached separately, so a linked file is usually better. A common rule of thumb is to inline images under about 10KB, weigh images between 10KB and 50KB case by case, and link anything larger. Conversion can be done entirely in the browser using the FileReader API, without uploading files to a server.

0
ProgrammingDEV Community ·

RAG or fine-tuning: how to tell which one your AI model needs

When an AI model in a product errs, the cause is usually either missing knowledge or correct knowledge applied with the wrong format, tone, or decisions. Retrieval-augmented generation (RAG) addresses the first problem by supplying relevant documents at answer time, leaving the model itself unchanged. Fine-tuning instead retrains the model's internal weights on examples of the task, which suits narrow, repetitive jobs with abundant labeled data. RAG is preferred when information changes often, is private or too large to fit in a prompt, or must be cited, while fine-tuning fits behavior problems, latency or cost reduction, and tasks with real examples. The article notes that each approach has limits, and that fine-tuning is a poor method for adding facts.

0
ProgrammingDEV Community ·

One-chair salon math: four bookings a day sets what its booking page needs

A one-chair nail salon open 10:00 to 19:00, six days a week, can realistically start about four to five appointments a day once service durations and cleanup buffers are counted. The author argues the booking page should be judged against this small daily capacity rather than generic calendar logic. Lost slots are costly, since one missed booking at 45,000 KRW represents a significant share of a day's revenue. The piece distinguishes two problems that booking products often try to solve at once: no-shows, which reminder systems address, and clients who cannot find prices or hours, which a simple website addresses. The author recommends fixing the second problem first and suggests a request-based form over live reservations to avoid double-booking, with start times computed in minutes since midnight.