mxc_application 3.2.0

MXC_APPLICATION #

With the release of Android 9.0 (API level 28) there came a new version of support libraries under the banner, AndroidX. These versions are incompatible to the earlier plugins and packages used by Flutter and consequently by the MVC framework package I would soon be releasing. And so, in the interest of the Flutter community, I decided on something about it. mxc_application

MVC_Application With An X #

I decided to deliver a 'pre-release' of the framework package. One that will still work with the now deprecated and yet currently more widely used support files. While the standard package, mvc_application, will continue on with the most recent and future Android support files, this release will only work with the support files available prior to AndroidX. I decided to call it, mxc_application. With its subtle 'play on words' this will be an early release of the 'MVC framework package.'

Keep It Here #

Thus, this version of the framework is everything like the MVC version, but for one important distinction. One that's reflected in the list of versions numbers found in the framework's pubspec.yaml file. They're all the old versions of the plugins and packages that worked prior to the migration to AndroidX. pubspec.yaml stopNote, this particular framework package will not progress any much further in development. After all, it's only really helpful to those developing apps for the Android platform using deprecated support library files that will one day go away.

Turn to the Medium article, MXC before MVC, for further instructions and documentation.

3.2.0 #

2019-06-23

  • keyField(String table) in DBInterface
  • darkTheme introduced to AppView

3.1.0 #

2019-05-11

  • Remove AppViewState.dispose() from AppViewState.reassemble
  • Add _vw.con.initApp(); to App.init();

3.0.0 #

2019-05-06

  • Allow for Hot Reload! Version 2.0.0 proved not efficient or effective!
  • abstract class App with abstract function, AppView createView();

2.0.3 #

2019-05-03

  • snapshot.hasData && snapshot.data ? _AppWidget(snapshot) : LoadingScreen()
  • Hot reload must have db close & set to null first.

2.0.2 #

2019-04-22

  • Take in the latest package version of Prefs:

2.0.1 #

2019-04-22

  • Variable, hotLoad, to control Hot Reload!

2.0.0 #

2019-04-21

  • Allow for Hot Reload! State createState() => App.createVW();

1.3.0 #

2019-04-12:

  • _this ??= implemented in many factory constructors.
  • xml: ^3.4.1

1.2.1 #

2019-03-19:

  • Supply the AsyncSnapshot in App.snapshot

1.2.0+1 #

2019-03-18:

  • Updated homepage & repository in pubspec.yaml

1.2.0 #

2019-03-18:

  • Add named parameter loadingScreen

1.1.0+2 #

2019-03-13:

  • Remove firebase_admob from pubspec.yaml

1.1.0+1 #

2019-03-13: THIS CONTINUES AS A BREAKING CHANGE.

  • Remove the package library, Ads
  • Remove ads.dart and dbutils.dart
  • Rename example app, contact_androidx_example

1.1.0 #

2019-03-13: THIS WAS AN UNINTENTIONAL BREAKING CHANGE.

  • Include the package library, Ads
  • Introduced ads.dart and dbutils.dart
  • Ads will become a separate Flutter package

1.0.1 #

2019-03-13:

  • Some Pub Health Suggestions Fixed
  • Lengthened the pubspec.yaml description.

1.0.0 #

2019-03-09:

  • version constraints prior to AndroidX
  • included package libraries: assest, fileutils, dbutils and uxutils
  • introduced an example

0.13.0 #

2019-03-01:

  • prefs: library package

0.12.1 #

2019-02-27:

  • 'package:mvc_application/src/controller/app.dart' show App, AppController;

0.11.0 #

2019-02-22:

  • Rename class AppView to AppViewState; AppState to AppView

0.10.0 #

2019-02-20:

  • class App extends AppMVC { class ViewMVC extends AppState {

0.9.1 #

2019-02-16:

  • mvc_pattern: in pubspec.yaml

0.9.0 #

2019-02-14:

  • static String get appName => _packageInfo.appName; await DeviceInfo.init(); Introduced DeviceInfo

0.8.1 #

2019-02-10:

  • showAboutDialog(); PackageInfo.fromPlatform(); show Prefs;

0.7.4 #

2019-02-09:

  • Color Theme Menu Popup

0.7.3 #

2019-02-09:

  • await Prefs.init(); get colorTheme => AppMenu.colorTheme;

0.7.2 #

2019-02-06:

  • class FieldWidgets

0.7.1 #

2019-02-06:

  • Removed class ConMVC, SDK Constraint to <3.0.0, keys() in class Item

0.6.0 #

2019-01-28:

  • Renamed the classes Controller and View to ConMVC and ViewMVC

0.5.0 #

2019-01-28:

  • if (_firstCon == null) _firstCon = this; get inDebugger in class App

0.4.0 #

2019-01-25:

  • factory _App({AppConMVC con, Key key}) {

0.3.0 #

2019-01-17:

  • Moved the class, Controller, into mvc.dart.

0.2.0 #

2019-01-17:

  • class AppView extends StateMVC Highlights UI while debugging.

0.1.7 #

2019-01-16:

  • _App super(con: null, key: key);
  • controller.dart export show StateListener;
  • fields.dart DefaultTextStyle get defaultTextStyle
  • mvc.dart MVC(AppView view, {Key key}) View() this.add(con);

0.1.2 #

2019-01-06:

  • Introduced the class, Field

0.1.1 #

2019-01-03:

  • export statements finalized.

0.1.0 #

2018-12-24:

  • Initial Development Release

example/main.dart

// https://github.com/fluttercommunity/flutter_contacts/tree/master/example
// https://pub.dartlang.org/packages/contacts_service#-readme-tab-

import 'package:flutter/material.dart' show runApp;

import 'package:mxc_application/mvc.dart' show App;

import 'view.dart' show ContactsExampleApp;

void main() => runApp(MyApp());

class MyApp extends App{
  @override
  createView() => ContactsExampleApp();
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  mxc_application: ^3.2.0

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:mxc_application/app.dart';
import 'package:mxc_application/controller.dart';
import 'package:mxc_application/dbutils.dart';
import 'package:mxc_application/model.dart';
import 'package:mxc_application/mvc.dart';
import 'package:mxc_application/prefs.dart';
import 'package:mxc_application/settings.dart';
import 'package:mxc_application/view.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
65
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
30
Overall:
Weighted score of the above. [more]
68
Learn more about scoring.

We analyzed this package on Jul 19, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.4.0
  • pana: 0.12.19
  • Flutter: 1.7.8+hotfix.3

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Maintenance issues and suggestions

Support latest dependencies. (-70 points)

The version constraint in pubspec.yaml does not support the latest published versions for 7 dependencies (connectivity, device_info, flutter_material_color_picker, package_info, path_provider, sqflite, url_launcher).

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
connectivity 0.3.2 0.3.2 0.4.3+6
device_info 0.3.0 0.3.0 0.4.0+2
flutter 0.0.0
flutter_material_color_picker ^0.0.5 0.0.5 1.0.2
mvc_pattern ^3.0.0 3.4.1
package_info 0.3.2+1 0.3.2+1 0.4.0+5
path_provider 0.4.1 0.4.1 1.1.2
prefs ^3.0.0 3.0.0
sqflite 1.0.0 1.0.0 1.1.6+2
url_launcher 4.1.0+1 4.1.0+1 5.1.0
uuid ^2.0.0 2.0.2
xml ^3.4.1 3.5.0
Transitive dependencies
async 2.2.0 2.3.0
boolean_selector 1.0.4 1.0.5
charcode 1.1.2
collection 1.14.11
convert 2.1.1
crypto 2.0.6
matcher 0.12.5
meta 1.1.6 1.1.7
path 1.6.2
pedantic 1.7.0 1.8.0+1
petitparser 2.4.0
quiver 2.0.3
shared_preferences 0.5.3+4
sky_engine 0.0.99
source_span 1.5.5
stack_trace 1.9.3
stream_channel 2.0.0
string_scanner 1.0.4
synchronized 2.1.0+1
term_glyph 1.1.0
test_api 0.2.5 0.2.6
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test 0.0.0

Admin