Having been dedicated full-time with LightSwitch for about three years since it was in preview state, I definitely think that I've made a right bet on it.
But it's far away from perfect, here are my summaries:
#1, Can't support multi-developer collaboration scenario, the metadata definitions are all in single lsml file, which makes it impossible to support scenario like this.(No workaround)
#2, Performance, the Design-Time and Run-Time performance are both terrible enough, given a system having more than 200 tables, you will fully understand how the terrible performance it is.( No workaround yet )
#3, Hierarchical navigation editor in design-time, out-of-box. In runtime, it's supported, but just no in design-time, the general workaround is to edit lsml file directly, error-prone but feasible. My workaround are much better, I've writeen a vs extension to hack the lightswitch design-time to add this feature, a lot a researches into the LightSwitch source-code.
#4, Multi-language scenario, this is supported but very uncovenience, the language resources are maintained in resx files, there is no design-time support for it, my workaround is creating my vs extension to add this feature as following:
#5, Database scheme generated is not readable for foreign key column, the hacking is creating vs extension to override the default behavior.
#6, No database view support in built-in datasource, the hacking is creating attached datasource.
#7, No group, aggregation support, the hacking is creating attached ria service data source.
#8, Can't create my own control extension for html5 client. There is no official document, but it workaround-dable, since some third-party partners of Microsoft already developed some LightSwitch HTML Extnesiosns.
#9, Others: multi-selection support is weak, no treeview control out-of-box, export to excel needs office to be installed in client machine, no many-to-many support, no table inheritable support, no general interceptor can intercept all events at a single point, no built-in reporting solution...
Conclusion:
Anyway, I think LightSwitch is moving towatds the right direction, and gonig to be better and better. These problems, some are workaroundable(mostly) and some are not, for #1 hopefully it will be addressed in future release, and for #2, this will restrict me to hold developing large scaled system, since I already got 3770k overclocked 18G RAM and SSD, the design-time issue is sitll terrible.
But it's far away from perfect, here are my summaries:
#1, Can't support multi-developer collaboration scenario, the metadata definitions are all in single lsml file, which makes it impossible to support scenario like this.(No workaround)
#2, Performance, the Design-Time and Run-Time performance are both terrible enough, given a system having more than 200 tables, you will fully understand how the terrible performance it is.( No workaround yet )
#3, Hierarchical navigation editor in design-time, out-of-box. In runtime, it's supported, but just no in design-time, the general workaround is to edit lsml file directly, error-prone but feasible. My workaround are much better, I've writeen a vs extension to hack the lightswitch design-time to add this feature, a lot a researches into the LightSwitch source-code.
#4, Multi-language scenario, this is supported but very uncovenience, the language resources are maintained in resx files, there is no design-time support for it, my workaround is creating my vs extension to add this feature as following:
#5, Database scheme generated is not readable for foreign key column, the hacking is creating vs extension to override the default behavior.
#6, No database view support in built-in datasource, the hacking is creating attached datasource.
#7, No group, aggregation support, the hacking is creating attached ria service data source.
#8, Can't create my own control extension for html5 client. There is no official document, but it workaround-dable, since some third-party partners of Microsoft already developed some LightSwitch HTML Extnesiosns.
#9, Others: multi-selection support is weak, no treeview control out-of-box, export to excel needs office to be installed in client machine, no many-to-many support, no table inheritable support, no general interceptor can intercept all events at a single point, no built-in reporting solution...
Conclusion:
Anyway, I think LightSwitch is moving towatds the right direction, and gonig to be better and better. These problems, some are workaroundable(mostly) and some are not, for #1 hopefully it will be addressed in future release, and for #2, this will restrict me to hold developing large scaled system, since I already got 3770k overclocked 18G RAM and SSD, the design-time issue is sitll terrible.