+ Fácil,
+ Rápida
+ Segura!
Nova face à página das cadeiras!
Agora é possível ver os professores e aceder aos dados das cadeiras de forma mais clean
Com as capas dos livros que devias ler...
API, API e API.
Mais APIs, por favor
A UNI é alimentada com dados exteriores prevenientes daquilo
a que chamamos API (Application Programming Interface).
Estas novas APIs trazem a informação no formato JSON,
um tipo de dados muito mais simples de manipular e mais
resistente a bugs.
Estas são as transições recentes para APIs nice:
>
Horário do Estudante
>
Ocupação da Biblioteca
>
Informações de uma cadeira
Serialização é o processo de converter uma estrutura de dados,
por exemplo JSON, para um objeto dart.
Antigamente este
processo era penoso porque era necessário criar funções
específicas.
Isso acabou com a adoção do json_serializable.
Vamos a um exemplo do nosso modelo CourseUnit
Na verdade, ele é
bem maior!
class CourseUnit
{
int
id;
String
code;
String
name;
num?
ects;
static CourseUnit? fromJson(Map<String, dynamic> data) {
return CourseUnit(
id:
data['ucurr_id'] as int,
code:
data['ucurr_codigo'] as String,
name:
data['ucurr_nome'] as String,
ects:
data['creditos_ects'] as num?,
);
}
Map<String, dynamic> toMap() {
return
{
'id':
id,
'code':
code,
'name':
name,
'ects':
ects,
};
}
}
@JsonSerializable()
class CourseUnit
{
@JsonKey(name: 'ucurr_id')
int
id;
@JsonKey(name: 'ucurr_codigo')
String
code;
@JsonKey(name: 'ucurr_nome')
String
name;
@JsonKey(name: 'creditos_ects')
num?
ects;
factory CourseUnit.fromJson(Map<String, dynamic> json) =>
_$CourseUnitFromJson(json);
Map<String, dynamic> toJson() => _$CourseUnitToJson(this);
}
A partir de agora a UNI passa a ser um projeto
multi-package:
Uma package
focada exclusivamente no design e outra na lógica da
aplicação.
O que será que vem aí?
+ Fácil,
+ Rápida
+ Segura!
Nova face à página das cadeiras!
Agora é possível ver os professores e aceder aos dados das cadeiras de forma mais clean
Com as capas dos livros que devias ler...
API, API e API.
Mais APIs, por favor
A UNI é alimentada com dados exteriores prevenientes daquilo
a que chamamos API (Application Programming Interface).
Estas novas APIs trazem a informação no formato
JSON, um tipo de dados muito mais simples de manipular e mais
resistente a bugs.
Estas são as transições recentes para APIs nice:
> Horário do Estudante
> Ocupação da Biblioteca
>
Informações de uma cadeira
Serialização é o processo de converter uma estrutura de dados,
por exemplo JSON, para um objeto dart.
Antigamente este
processo era penoso porque era necessário criar funções
específicas.
Isso acabou com a adoção do json_serializable
Automatically generate code for converting to and from JSON by annotating Dart classes.
Vamos a um exemplo do nosso modelo CourseUnit
Na verdade, ele é
bem maior!
class CourseUnit
{
int
id;
String
code;
String
name;
num?
ects;
static CourseUnit? fromJson(Map<String, dynamic> data) {
return CourseUnit(
id:
data['ucurr_id'] as int,
code:
data['ucurr_codigo'] as String,
name:
data['ucurr_nome'] as String,
ects:
data['creditos_ects'] as num?,
);
}
Map<String, dynamic> toMap() {
return
{
'id':
id,
'code':
code,
'name':
name,
'ects':
ects,
};
}
}
@JsonSerializable()
class CourseUnit
{
@JsonKey(name: 'ucurr_id')
int
id;
@JsonKey(name: 'ucurr_codigo')
String
code;
@JsonKey(name: 'ucurr_nome')
String
name;
@JsonKey(name: 'creditos_ects')
num?
ects;
factory CourseUnit.fromJson(Map<String, dynamic> json) =>
_$CourseUnitFromJson(json);
Map<String, dynamic> toJson() => _$CourseUnitToJson(this);
}
A partir de agora a UNI passa a ser um projeto
multi-package:
Uma package
focada exclusivamente no design e outra na lógica da
aplicação.
O que será que vem aí?