I build multiplatform applications for Web, Desktop, and Mobile
I ❤️ Flutter and React
Every
Make us productive so we love them.
No matter how much businesses want the ability to reuse components, JavaScript frameworks as we know them are never going to deliver interop. It’s called “framework churn” and not “component mixing” because to adopt the new thing the old one must be plowed under. - Alex Russell
Apple Music*
USA Today
Coca-Cola
Diligent
EA
OlaCabs
Microsoft
Amazon
Bloomberg
Netflix
GitHub
Salesforce**
Adidas
Porsche
Samsung
@Component({
tag: "fancy-tag",
scoped: true,
styles: `
:host {
display: inline-block;
}
`,
})
The Component decorator creates the custom element (like Angular).
export class FancyTag {
/**
* Button variant - grey, success, error, alert, secondary
*/
@Prop() variant: "grey" | "success" | "error" | "alert" = "grey"
render() {
const classes = cc([containerCls, this.variant])
return (
<Host>
<div class={classes}>
<div>
<slot />
</div>
</div>
</Host>
)
}
}
const containerCls = css`
border-radius: 13px;
text-align: center;
> div {
padding: 5px 11px;
}
&.alert {
background-color: ${colors.alert};
> div {
background-color: rgba(255, 255, 255, 0.35);
}
}
&.success {
background-color: ${colors.success};
> div {
background-color: rgba(255, 255, 255, 0.75);
}
}
`